Обработка событий
Добавление обработчика
page.on('popup-hide', function (event) {
console.log('Окно было скрыто');
});
Отключение обработчика
Для отключения есть функция off
. Чтобы обработчик можно было отключить, ссылку на функцию нужно сохранить в переменную, которую затем передать в off
.
// Сохраняем ссылку на обработчик
var handler = function (event) {
console.log('Окно было скрыто');
};
// Добавляем обработчик
page.on('popup-hide', handler);
// Отключаем обработчик
page.off('popup-hide', handler);
Одноразовый обработчик
Есть возможность добавить обработчик, который отключится после первого выполнения.
page.once('popup-hide', function (event) {
// Этот код будет выполнен только один раз
});
Отменяемые события
Наступление некоторых событий можно отменить. Например, у окон есть событие hide
. Оно срабатывает после того, как окно было закрыто. А есть еще событие before-hide
, которое срабатывает перед закрытием окна.
Если в обработчике события before-hide
вызвать event.prevent()
, то окно не будет закрыто и событие hide
не сработает.
page.on('popup-hide', function (event) {
if (confirm('Хотите закрыть окно?')) {
event.prevent();
}
});
Так же может быть полезным свойство event.isPrevented
, которое содержит true
если событие уже было отменено в одном из других обработчиков.