en.javascript.info/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md
Ilya Kantor ab9ab64bd5 up
2017-03-21 14:41:49 +03:00

579 B

The answer: 1 and 2.

The first handler triggers, because it's not removed by removeEventListener. To remove the handler we need to pass exactly the function that was assigned. And in the code a new function is passed, that looks the same, but is still another function.

To remove a function object, we need to store a reference to it, like this:

function handler() {
  alert(1);
}

button.addEventListener("click", handler);
button.removeEventListener("click", handler);

The handler button.onclick works independantly and in addition to addEventListener.