【发布时间】:2017-08-16 06:19:45
【问题描述】:
我已经按照this 链接将数据传递给动态创建的元素的点击事件。但是,它不起作用。
for(var i=0; i<data.length; i++) {
var meterDiv = $("<div></div");
meterDiv.attr('class', "container-fluid");
var meterData = data[i].stompNumber + "<br/>" + data[i].stompName + "<br/>" + data[i].postId;
meterDiv.html(meterData);
var postId=data[i].postID;
meterDiv.on("click", {postid: postId}, function(event) {
parkedMeter(event);
console.log("paked at : " + event.data.postid);
})
$("#meterInfo").append(meterDiv);
}
paked at 在控制台上是 undefined。和我的parkedMeter一样:
function parkedMeter(event) {
console.log("postid " + event.data.postid);
}
【问题讨论】:
-
请minimal reproducible example,因为这是你的代码sn-p无法运行,我们不知道数据变量包含什么,也不知道parkedMeter函数声明的方式和位置。跨度>
-
.on()方法似乎使用得当:问题是,postId是什么:你确定它被正确读取了吗?您似乎有一个错字:应该是var postId = data[i].postId而不是var postId = data[i].postID。您是否尝试过控制台记录data[i]的内容?然后,您将获得可以使用的有效密钥列表。 -
特里的评论是正确的。我有拼写错误。谢谢特里!!
标签: javascript jquery