2012-11-02 112 views
1

沒有jQuery(或任何庫),我如何「命名」一個事件,以便我可以稍後分離該事件。對於例如,我有一個元素上3個click事件:命名單擊事件綁定javascript

target1.addEventListener(click, callback1, false); 
target1.addEventListener(click, callback2, false); 
target1.addEventListener(click, callback3, false); 

我想拆散只是callback2。我是不是與回退有關。我知道這很容易,但我CAN NOT在jQuery外面找到任何材料(也許我使用錯誤的語言,idk)。

回答

1

您需要保存您的事件偵聽器,然後使用它們: element.removeEventListener(type, listener, useCapture)

var div = document.getElementById('div'); 
var listener = function (event) { 
    /* do something here */ 
}; 
div.addEventListener('click', listener, false); 
div.removeEventListener('click', listener, false); 

爲什麼你會不使用jQuery的關係嗎?

下面的鏈接是文檔+代碼示例: https://developer.mozilla.org/en-US/docs/DOM/element.removeEventListener

+1

尺寸用途:沒有理由要加載的jQuery上僅移動站點幾個簡單的功能。謝謝!自從我用「老派」以來,我一直記不清基本的東西是如何工作的。 –

+0

不客氣! –