Обработка событий

Добавление обработчика

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 если событие уже было отменено в одном из других обработчиков.