2014-10-01 2 views
1

Я слушаю пользовательское событие:Удалить слушатель пользовательских событий

evt = new CustomEvent("fileThisEmail", { 
    detail: { 
    name: name, 
    email: email, 
    content: content 
    } 
}); 

window.dispatchEvent(evt); 


window.addEventListener("fileThisEmail", this.handleFileEmail); 

Мне нужно удалить слушатель. Я пробовал:

window.removeEventListener("fileThisEmail", this.handleFileEmail); 
window.removeEventListener("fileThisEmail"); 

но ни работа. Что я делаю не так?

+0

Ответили ниже, пожалуйста, обратитесь к нам? –

ответ

2

Третий аргумент removeEventListener является обязательным. попробуйте следующее:

window.removeEventListener("fileThisEmail", this.handleFileEmail, false); 
+0

Не работает. http://cl.ly/image/0j390f352Z0U – brandonhilkert

+0

Хотя третий параметр ('useCapture') должен быть факультативным и по умолчанию используется значение false в современных браузерах (https://developer.mozilla.org/en/docs/Web/ API/EventTarget.removeEventListener), код @ harsh.prasad верен и работает для меня, используя пример в вопросе. – rfunduk

+0

Хммм, не уверен, что сказать. Я получаю событие, умножающееся друг на друга при каждом запуске прослушивателя событий. Любая идея, что такое несоответствие? – brandonhilkert

Смежные вопросы