第二次点击jQuery按钮是't开火
Second jQuery button click isn't firing
我试图在jsfiddle中做一些表面上很简单的事情,但它不起作用。从本质上讲,我有一个类为"me"的h1 html标签和类为"poo"的按钮。第一次点击有效,我的css颜色也变了,但是第二次点击不起作用?
$(".poo").click(function(e){
e.preventDefault();
$(".me").css("color","green");
var haha = $("<button>Click Me!!!</button>");
$(this).after(haha);
$(haha).addClass("changer");
$(this).hide();
});
$(".changer").click(function(e){
e.preventDefault();
$(".me").css("color","black");
$(this).hide();
});
将第二次单击绑定到父元素:
$(document).on('click', '.changer', function() {
//function here
});
changer
单击处理程序在元素存在之前绑定。请尝试使用$.on
方法。
http://api.jquery.com/on/
$('body').on('click', '.changer', function() {...})
这是因为事件处理程序绑定到文档body
,该文档已存在于页面上。当点击正文中的任何位置时,jQuery将检查点击的元素是否与选择器.changer
匹配,如果匹配,则执行回调。
或者,您可以只在第一个回调中绑定$('.changer').click
事件。
更新fiddle:http://jsfiddle.net/0yodg7gb/7/
$(".poo").click(function(e){
e.preventDefault();
$(".me").css("color","green");
var haha = $("<button>Click Me!!!</button>").addClass('changer');
$(this).after(haha);
$(haha).addClass("changer");
$(this).hide();
bindClick();
});
function bindClick(){
$(".changer").bind('click',function(e){
e.preventDefault();
$(".me").css("color","black");
$(this).hide();
});
}
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- JQuery窗口调整大小;不要开火
- jQuery.click();不要对特定的元素开火
- Jquery点击事件don'我不想开火
- 第二次点击jQuery按钮是't开火
- jQuery单选按钮检查操作不'不要开火
- jquery-ajax'不要开火
- jQuery点击不会开火
- jQuery事件方法:如何更改javascript'单击'事件到'永远开火;
- 隐藏内容和Jquery 2点击开火
- jquery .when.apply美元().没有开火
- Jquery mobile $(html).点击(手机上不开火)
- jQuery.点击TD不开火
- 简单的覆盖计算器不会在点击时开火,没有错误.jQuery和js
- JQuery的点击函数不开火
- jquery微醺不开火,点击IE
- JQuery Datepicker中的onSelect事件没有'似乎没有开火
- jquery.on('点击',函数(){..});不开火