我希望将一个"onchange"事件监听器附加到DOM片段,但它不能正常工作。
例如,我有以下代码:
例如,我有以下代码:
$(function(){
var elements = [
'<input type="checkbox" name="one" value="kung" />',
'<input type="checkbox" name="one" value="fu" />'
];
var fragment = $(document.createDocumentFragment());
fragment.on('change', 'input[type="checkbox"]', function(){
alert('my kung fu is strong');
});
$.each(elements, function(index, element){
fragment.append(element);
fragment.find('input:last-child').trigger('change');
});
});
然而,附加事件监听器并没有起作用。但是,如果我像这样在循环中附加事件处理程序,它就会起作用:
fragment.find('input[type="checkbox"]').on('change', function(){
alert('this works, but it is not ok');
});
我不想在循环中设置事件监听器,因为我觉得这会减慢脚本的速度并且有些过度。
另外,我需要提到我的元素数组非常大。