我希望在检查或未选中Checkbox
时触发元素。
它完美地适用于:
$('.myCheckbox:checkbox').change(function () {
//..
}
问题是,如果我在客户端上创建一个新的复选框,则.change()
不会触发。
我也试过了:
$('.myCheckbox:checkbox').live('change',function () {
并且它也不起作用..
有谁知道什么是错的?
答案 0 :(得分:2)
试试这个:
$(document).on('change', '.myCheckbox:checkbox', function() {
});
顺便说一句,自{jQuery version live()
起不推荐使用1.7
,您应该使用on()代替。
答案 1 :(得分:2)
您应该使用.on
(将此jQuery版本升级到1.7)。
语法为:
$('.yourCheckboxContainer').on('change', '.myCheckbox:checkbox', function() {
});
答案 2 :(得分:1)
使用
$(document).on('change','.myCheckbox:checkbox',function () {
//..
}
从jQuery 1.7开始,on()方法是bind(), live()
和delegate()
方法的新替代品。
注意:使用on()
方法附加的事件处理程序适用于当前和FUTURE元素(如脚本创建的新元素)
答案 3 :(得分:1)
嘿,这是一个jquery版本问题.on已经替换.live因为一些问题,你可以在这个链接上看到的那些问题,
What's the difference between jQuery .live() and .on()
您可以像这样编写代码。
$(document).on('change','.myCheckbox:checkbox',function () {
// your code
});
答案 4 :(得分:0)
使用:
for jquery 1.7 Further
$(document).on('change','.myCheckbox:checkbox',function () {
//..
});
旧版
$('.myCheckbox:checkbox').live('change',function () {
});
答案 5 :(得分:0)
我如何理解您的问题,不是.live
或.on
。这是关于你是否首先使用现有代码添加更改侦听器,然后向页面添加新的复选框,如
$(document).append($("<input type="checkbox" />"));
更改侦听器无法使用它。
这是正常的,因为添加侦听器时新的复选框不存在。在添加时,您必须将侦听器添加到新复选框。
$(document).append($("<input type="checkbox" />").change(whatever));