我已按照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);
}
答案 0 :(得分:0)
on function parameter 1)event 2)selector 3)data object 4)callbackfunction / handler。
由于您的代码缺少选择器,您应该添加任何选择器
meterDiv.on("click","Selector Here" , {postid: postId}, function(event) {
parkedMeter(event);
console.log("paked at : " + event.data.postid);
})