.once()
Реакция на событие только единожды (один раз). Обработчик выполняется не более одного раза для каждого элемента для каждого типа события.
once(...args)
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
element |
String | null |
Элемент HTML. |
type |
String | null |
Тип события, например click , scroll и т.д. |
selector |
String | null |
Используется для динамически добавляемых HTML-элементов. |
listener |
Function | null |
Функция обратного вызова (callback function) для запуска какого-то кода. |
useCapture |
Boolean | false |
Указывает, что события этого типа будут отправлены зарегистрированному listener перед отправкой любому EventTarget под ним в дереве DOM.
|
condition |
Boolean | false |
Как только условие становится ложным, EventListener будет прикреплен и, следовательно, готов к срабатыванию.
|
Использование
Вызываем уведомление при нажатии на кнопку. Уведомление после клика будет отображаться только 1 раз. Последующие клики ничего не дадут.
<button id="ex-btn" class="uk-button uk-button-primary">Показать уведомление</button>
let exBtn = util.$('#ex-btn');
// Показать сообщение, но только один раз
util.once(exBtn, 'click', function () {
UIkit.notification('Какое-то интересное уведомление...');
});
Результат
При нажатии на кнопку Показать уведомление отображается уведомление. Дальнейшее нажатие на ту же кнопку не вызовет другое уведомление.