Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Удалить слушатель с bind (https://javascript.ru/forum/misc/78315-udalit-slushatel-s-bind.html)

MC-XOBAHCK 25.08.2019 20:37

Удалить слушатель с bind
 
Как правильно удалить слушатель с bind ?
Вот установленный слушатель:
btnSave.addEventListener('click', this.onSave.bind( this, btnSave, btnCancel ));

Достаточно ли сделать так:
btnSave.removeEventListener('click', this.onSave);

или нужно прописывать bind со всеми параметрами?

И если можно, пара вопросов по слушателям и бинду:
1. Как я понял, в bind первым обязательным параметром является контекст. А если мне контекст не нужен, какой параметр передавать: null, NULL или false?
2. Есть ли способ проверить что слушатель удалён? В консоле браузера вижу вкладку Event Listener, но не пойму там ничего. Там нужно высматривать слушатели? Они будут там в "лайф режиме" добавляться-удаляться?

рони 25.08.2019 21:06

Цитата:

Сообщение от MC-XOBAHCK
Достаточно ли сделать так:

создайте переменную с нужной функцией и потом удаляйте или добавляйте эту переменную.

MC-XOBAHCK 25.08.2019 21:16

Цитата:

Сообщение от рони (Сообщение 512148)
создайте переменную с нужной функцией и потом удаляйте или добавляйте эту переменную.

Я понял. Это сделаю - понимаю как.

А по контексту не подскажите какое значение передать если он не нужен в бинде? null ???
там где у меня bind(this, ....)
Что вместо this указать?

рони 25.08.2019 21:25

MC-XOBAHCK,
если this не нужен то может как-то так?
() => onSave(btnSave, btnCancel)

MC-XOBAHCK 25.08.2019 21:38

А, я понял. Точно, если я делаю переменную функцией, то бинд не нужен:
let x = function() {
    this.onSave(btnSave, btnCancel);
}
btnSave.addEventListener('click', x);

Изначально bind мне нужен был чтобы передать параметры в вызываемую слушателем функцию (метод объекта).
Спасибо за помощь!


Часовой пояс GMT +3, время: 09:25.