.off()

Удалить ранее зарегистрированного слушателя событий. Удаление обработчика события.

Параметр Тип По умолчанию Описание
targets String null Элемент HTML.
type String null Тип события, например click, scroll и т.д.
listener Function null Функция обратного вызова (callback function)
для запуска какого-то кода, которую нужно удалить.
useCapture Boolean false Указывает, был ли удаляемый EventListener зарегистрирован как перехватывающий обработчик, или нет.

Использование

<button id="trigger" class="uk-button uk-button-primary">Trigger</button>
<button id="bind" class="uk-button uk-button-default">Bind</button>
<button id="unbind" class="uk-button uk-button-default">Unbind</button>
const trigger = document.getElementById('trigger');
const bind = document.getElementById('bind');
const unbind = document.getElementById('unbind');

// Dummy function
function showNotification() {
  UIkit.notification('Какое-то уведомление ...');
}

// Bind. Привязывает прослушиватель событий к кнопке
util.on(bind, 'click', function () {
  util.on(trigger, 'click', showNotification);
});

// Unbind. Отвязывает прослушиватель событий от кнопки
util.on(unbind, 'click', function () {
  util.off(trigger, 'click', showNotification);
});

Описание и результат

По умолчанию кнопка Trigger ничего не делает.
После нажатия кнопки Bind, последующие нажатия на кнопку Trigger уже показывают уведомление.
Если нажать кнопку Unbind, то кнопка Trigger снова больше не будет показывать уведомление.


Чтобы прикрепить событие, которое запускается только один раз, используйте метод .once() .