我如何将动态事件绑定到创建的n个元素中?我将尝试使用此代码,但是元素始终使用变量i的最后状态(i = 8),范围是否存在问题?
console.log('add all children');
var myloc = window.location.href + "jquery";
var jquerySample = 8;
for (i = 1; i <= jquerySample; i++) {
var element=jQuery('<div/>', {
id: 'subitemElement' + i,
href: myloc + "/test_jQ_" + i,
class: 'subitem',
rel: 'external',
text: "test_jQ_" + i,
click: function(num) {
console.log("subitem jquery click");
window.location = myloc + "/test_jQ_" + num;
}(i)
});
element.appendTo('#itemJQUERY');
event.preventDefault();
}
最佳答案
jQuery('#itemJQUERY').on('click','.subitem',function(){
window.location = $(this).data('url');
});
http://jsfiddle.net/5Lvyoh7u/1/