我正在处理一个页面,该页面上有许多可拖动的“节点”,每个节点都有一个数字 ID。我根据我得到的一些服务器端数据创建这些:
for(var nodeid in data) { // data fetched by AJAX request
// makeHTML generates an HTML snippet with ID #node-{nodeid}
$("body").append(makeHTML(nodeid));
// make nodes draggable, calling node action on stop
$("#node-" + nodeid).draggable({
stop: function(event, ui) {
performAction(nodeid);
}
});
}
所有对象都出现在页面上,并按照我的预期标记/给定 ID,但是每当我拖动某些东西时,它总是使用循环中performAction()
的最后一个ID 调用,而不是与拖动对象关联的 ID。
是否有原因nodeid
没有正确传递performAction()
?我是否需要以不同的方式声明有关循环的内容?