更改事件未从动态创建的复选框中触发?

时间:2014-06-03 05:47:58

标签: jquery

我正在使用JQuery创建这样的复选框:

var $checkbox = $('<input>', { type:'checkbox' });
$checkbox.change( function() { alert('changed'); });

$('body').append($checkbox);

我的期望是,当点击复选框时,他们应该提醒changed,但他们不会。{/ p>

为什么不呢?

在我创建它们之前,我应该使用on吗?

2 个答案:

答案 0 :(得分:0)

在动态控件上使用事件委托:

$(document).on('change',':checkbox',function(){
alert('changed');
});

答案 1 :(得分:0)

使用委托 - on() ,它会将处理程序附加到现在或将来与选择器匹配的元素。

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

});

替代方法是使用。 delelegate() ,后者又使用.on()。