Архив метки: events

Перехват события перехода с веб-страницы

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

Есть событие onbeforeunload, отлично для этого подходящее. Кроме полезных действий, можно вернуть из обработчика строку, которая будет использована

Запрет вызова действия по-умолчанию в javascript

Для предотвращения действия по умолчанию (например переход по ссылке) из js нужно вернуть в качестве результата обработчика события false, но не все браузеры правильно интерпретирую этот результат полностью кроссбраузерный запрет defaultAction выглядит так: 

//e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = false;
//e.stopPropagation works only in Firefox.
if (e.stopPropagation) {
   e.stopPropagation();
   e.preventDefault();
}
return false;