在创建模板副本并将 .click() 方法正确绑定到它们时,我似乎遇到了问题。以下面的 javascript 为例:
function TestMethod() {
var test = Array();
test[0] = 0;
test[1] = 1;
test[2] = 2;
// Insert link into the page
$("#test_div").html("<a href=\"#\"></a><br>");
var list;
for (x = 0; x < test.length; x++) {
var temp = $("#test_div").clone();
temp.find('a').html("Item #" + test[x]);
temp.click(function () { alert(x); });
if (list == undefined)
list = temp;
else
list = list.append(temp.contents());
}
$("#test_div2").append(list);
}
我看到的问题是,无论用户单击哪个项目,它总是运行警报(2),即使您单击前几个项目也是如此。
我怎样才能让它工作?
编辑:我做了一个非常简单的例子,应该更清楚地显示问题。无论您点击什么项目,它总是会显示一个带有数字 2 的警告框。