1
我有這樣的事情:在嘗試刪除eventHandler之前是否需要/建議檢查它是否存在?
if (something) {
init();
} else {
document.addEventListener('CUSTOM_EVENT', init, false);
}
var init = function() {
document.removeEventListener('CUSTOM_EVENT', init, false);
// do stuff
}
我是否需要添加某種檢查周圍的removeEventListener
電話嗎?如果是這樣,我可以這樣做:
var eventAdded = false;
if (something) {
init();
} else {
document.addEventListener('CUSTOM_EVENT', init, false);
eventAdded = true;
}
var init = function() {
if (eventAdded) {
document.removeEventListener('CUSTOM_EVENT', init, false);
}
// do stuff
}
但這感覺有點不雅。如果沒有什麼大不了的話,我寧願留下原始的removeEventListener
調用,或者做一些不需要有外部變量的東西。
1參考http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget-removeEventListener – Andrew 2012-03-28 16:51:19
[這](HTTP://www.w3 .org/TR/DOM-Level-2-Events/events.html#Events-EventTarget-removeEventListener)文檔鏈接可能是一個更好的參考選擇(儘管MDN也相同)。 – Jon 2012-03-28 16:51:45