2013-03-04 66 views
3

新手到jQuery在这里。我有一个jQuery中通过下面的代码动态添加一个复选框:jQuery复选框事件处理与.live()

.html("<input type='checkbox' class='checkbox' value='7.5'>"); 

我希望能够最终调用一个函数,如果点击复选框。 该类复选框:我一直在使用这些代码两个变种试图

$(".checkbox").live('click', function() { 
    alert('test'); 
}); 

或调用所有复选框:

$(":checkbox").live('click', function() { 

    alert('test'); 
}); 

这是不工作的。有任何想法吗? 非常感谢!

+0

您使用的是什么版本的jQuery? – 2013-03-04 00:42:12

+0

一定要检查文档之前询问http://api.jquery.com/ – Zachrip 2013-03-04 00:44:28

回答

9

.live()已弃用。使用事件代表团语法:

$(document).on('change', 'input[type="checkbox"]', function(e) { 
    alert(e); 
}); 

更换document用在绑定的事件处理程序是目前最接近的父元素的选择。我也建议不要使用:checkbox,因为它是非本地选择器,并且会比input[type="checkbox"]更慢

+0

好的答案,就像我要回答:) – Zachrip 2013-03-04 00:43:57

+0

作品:)非常感谢你! – Losman90 2013-03-04 00:55:31

+0

也许值得一提的是,除了在选择器“input [type ='checkbox']上指定输入类型之外,还可以添加类名以进一步缩小目标元素的范围: input [type ='复选框']。复选框 – Mevius 2017-02-21 20:47:11