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

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

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

Поддержка в Telegram-чате

Подскажем, как решить вашу задачу!

Мы все еще дописываем документацию для разработчиков, поэтому нам важно, чтобы вы писали, что с чем возникают трудности, и какие еще возможности нужно добавить.