removeEventListener - problem

0

Cześć,
Tworzę własny MessageBox. Jedną z opcji jest możliwość zamknięcia go przy kliknięciu w obszar poza boxem lub gdy zostanie naciśnięty Esc. Zdarzenia podpinane są przy użyciu addEventListener. Przy zamykaniu zarówno tło jak i sam box oraz zdarzenia są usuwane (removeEventListener). Ale zdarzenia ciągle się wywołują. Czemu?
Kod: https://jsfiddle.net/8an59rwk/1/

1

Do removeEventListener musisz przekazać dokładnie tę samą wartość, którą przekazujesz do addEventListener:

const fn = () => {
  this.something();
};

window.addEventListener('foo', fn);
window.removeEventListner('foo', fn);

Wywołanie bind zwraca nową referencję i nawet jeśli efektywnie ewaluuje się do tego samego, wciąz jest to jakiś nowy obiekt.

0

Fakt - dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1