Я пытаюсь удалить прослушиватель событий после вызова функции. Но прослушиватель событий для «keyup» остается прикрепленным к телу, независимо от того, что я пытаюсь. Что не так с кодом?removeEventListener из тела не работает
function displayImage() {
//this is a simplified version of the code
var outerFrame = document.createElement('div');
outerFrame.className = 'popup-outer';
document.body.appendChild(outerFrame);
document.body.addEventListener('keyup', hideImage.bind(outerFrame), false);
}
function hideImage(e) {
if (e.keyCode === 27) {
// this doesn't work, it stays attached to the body element
document.body.removeEventListener('keyup', hideImage, false);
document.body.removeChild(this);
}
e.preventDefault();
}
возможно дубликат [Javascript removeEventListener не работает - слушатель событий остается] (http://stackoverflow.com/questions/16651790/javascript-removeeventlistener-not-working-event-listener-remains) – Amit