Gunnar Bittersmann: removeEventListener mit bind

Beitrag lesen

@@Theo der Kaffee

let btn = document.getElementById("btn");
let Func = (e) => {
	e.preventDefault();
	console.log("Funktion wird aufgerufen!");
};
// btn.addEventListener("click", Func); // mit dieser Zeile würde removeEventListener "greifen"
btn.addEventListener("click", Func.bind(this)); // hier "greift" removeEventListener nicht, console.log("Funktion wird aufgerufen!") wird nach wie vor aufgerufen

btn.removeEventListener("click", Func);

Warum wird hier also trotz removeEventListener die Funktion Func noch aufgerufen?

“The event listener to be removed is identified using a combination of the event type, the event listener function itself, and various optional options that may affect the matching process.” [MDN]

Wenn die event listener function nicht matcht, wird der EventListener nicht entfernt.

🖖 Stay hard! Stay hungry! Stay alive! Stay home!

--
“Turn off CSS. If the page makes no sense, fix your markup.” —fantasai