我需要将事件设置为“即时”的元素,例如var X = $('HTML CODE HERE')
,但是当我将事件设置为最后一个元素时,所有其他元素都会获得最后一个事件。
这里的例子:http: //jsfiddle.net/QmxX4/6/
$(document).ready(function() {
var ulItem = $('.lst');
for (var x=0; x<5; x++) {
var newItemElement = $('<li style="border:solid 1px blue;width:200px;height:40px;"></li>');
ulItem.append(newItemElement);
var generator = Math.random();
newItemElement.on('click', function() {
console.log(generator);
});
}
});
所有元素都是不同的,我直接在元素中附加事件,我尝试在将事件添加到元素之前和之后附加,但不起作用,所有元素都获取最后一个事件。
如果您单击<li></li>
最后一个事件中生成的获取代码,但“理论上”所有元素都附加了不同的事件..
但是,如果我在将所有项目附加到 之后制作其他循环附加元素<ul></ul>
,如下所示:
$.each($(ulItem).children('li'), function(i, item) {
console.log($(this));
var generator = Math.random();
$(this).on('click', function() {
console.log(generator);
});
});
工作......有什么问题?