我正在处理一个页面上有一些可拖动的“节点”,每个节点都有一个数字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,但每当我拖动某些内容时,它总是在循环中使用 last ID调用performAction()
,而不是而不是与拖动对象相关联的ID。
是否有nodeid
未正确传递给performAction()
的原因?我是否需要以不同的方式声明关于循环的内容?