我有一个画布元素,我在其中使用WebGL绘制东西。
取决于我所添加的事件侦听器。删除事件监听器
现在,当我重绘画布时,我想删除旧的事件侦听器并添加一个新的侦听器。
简单地做,这将不起作用:
canvas.removeEventListener("click", function(event){
colorbarClicked(event, viewdata);
}, false);
canvas.addEventListener("click", function(event){
colorbarClicked(event, viewdata);
}, false);
我认为这是因为colorbarClicked功能已经改变了(?也许是因为它的参数有不同的值),而不是匹配的旧的,我要删除任何更多。
所以我的问题是,每次我重绘事件侦听器得到添加,因此加倍。但colorbarClicked函数取决于在画布中绘制的内容,所以我肯定需要更改它。
的可能重复的[JavaScript的:除去事件侦听器(http://stackoverflow.com/questions/4402287/javascript-remove-event-listener) – 2014-10-29 14:41:54