私が達成したいこと:
私はそれぞれが 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();
});
}