我有一個畫布元素,我在其中使用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