我想要完成的事情:
我有一个对象数组,每个对象都有一个对 DOM 节点的引用,我用.getNode()
. 我正在尝试为数组中的每个对象分配一个事件处理程序,以便在单击时alert()
调用.name
数组中的给定对象。
我尝试过的:
我用循环分配事件,但我遇到了关闭问题。我现在拥有的方式是,所有对象共享相同的事件(循环中的最后一个事件),并且在单击时都会给出相同的消息。
EventUtil
独立添加事件处理程序浏览器。它不应该包含任何错误。
for (var i = 0; i < arrayWithObjects.length; i++) {
EventUtil.addHandler(arrayWithObjects[i].getNode(), "contextmenu", function(event){
event = EventUtil.getEvent(event);
event.preventDefault();
alert('right click on '+arrayWithObjects[i].name);
event.stopPropagation();
});
}