我正在尝试为从 JSON 动态创建的每个元素添加一个单击事件处理程序。
这是我的代码:
$.getJSON('slides.json', function (data) {
for (var i = 0; i < data.length; i++) {
var s = sym.getSymbol("Base").createChildSymbol("Frame", "Slider");
s.$("Frame").css({
"background-image": "url('" + data[i].image + "')"
});
s.$("Frame").click("click", function (e) {
alert(data[i].title)
});
s.getSymbolElement().css({
"position": "absolute",
"right": i * 81 + 5 + "px"
});
sym.getSymbol("Base").$("Slider").css({
"width": i * 81 + 5 + "px"
});
} //for
});
此代码将从 JSON 文件动态创建 5 Frame 及其图像。我希望能够单击它们并提醒单击图像的索引。
但是在上面的代码中,当我点击任何图像时,它总是会提示 5,即i
.
我也尝试替换i
为,data[i].title
但没有任何反应,无法访问可以从中读取信息的 JSON 文件。
我该如何解决这个问题?