使用jquery动态创建链接列表,并希望将分隔的$(PROJECT_DIR)/Carthage/Checkouts
事件绑定到每个链接。
click
for (var i = 0; i < 7; i++) {
var li = $('<div>').addClass('text-primary').css("curser", "pointer").appendTo($("#AK_test"));
var aleg = $('<a>').addClass('pull-left text-primary').css('color','#337ab7').text(" Clickable link # " + i);
aleg.on("click", function() {
alert("clicked # " + i);
});
aleg.appendTo(li);
$('<br>').appendTo(li);
}
在此示例中,警报始终显示7(i的最后一个值)。
我的问题:为什么?对于每个链接,它应该在警报中显示i的单独值。
答案 0 :(得分:0)
感谢T.J.克劳德,寻找原始解决方案。
以下是此问题中-my问题代码的相同修复 -
for (var i = 0; i < 7; i++) {
var li = $('<div>').appendTo($("#AK_test"));
var aleg = $('<a>').css('color','#337ab7').text(" link # " + i);
aleg.on("click", createClickEvent(i));
aleg.appendTo(li);
$('<br>').appendTo(li);
}
function createClickEvent(i) {
return function() { alert(i); };
}
<div id="AK_test"></div>