javascript → removeEventListener и bind правильное использование
Метод bind у функции возвращает новую функцию, поэтому нельзя делать вот так:
function onClick() { console.log('hello kitty');}
button.addEventListener('click', onClick.bind(this));
button.removeEventListener('click', onClick.bind(this));
Отписки не произойдет, на выходе будет две разные функции, для отписки надо сделать так:
function onClick() { console.log('hello kitty');}
const onClickFn = onClick.bind(this);
button.addEventListener('click', onClickFn);
button.removeEventListener('click', onClickFn);