Отмена onBeforeUnload с помощью addEventListener
Я пытаюсь выяснить, как предотвратить onBeforeUnload
событие от запуска в IE9+ при использовании ссылок без ссылок.
Здесь я настроил скрипку (упрощенный тест реального сценария), которая в значительной степени описывает то, что я пытаюсь выполнить. Всякий раз, когда onBeforeUnload
срабатывает (например, при нажатии на ссылку) фон страницы становится синим. Когда используешь attachEvent
Я могу легко return false
чтобы этого не случилось. Но при добавлении события нажатия на ссылку с addEventListener
, оператор возврата не имеет никакого значения. Более или менее я хотел бы, чтобы ссылка 4 вела себя как ссылка 2.
Да, переход от ссылок на кнопки был бы решением. Изменение функциональности onBeforeUnload (например, использование этого кода как части функции щелчка) было бы другим. Но, к сожалению, я не могу контролировать эти части кода.
Так. Есть ли способ остановить события клика по ссылкам из триггера? onBeforeUnload
при настройке с addEventListener
? Или MS удалил эту возможность при миграции с attachEvent
в addEventListener
потому что вообще плохая идея запретить пользователям переходить со страницы?
1 ответ
При использовании addEventListener вы можете добавить параметр в вашу функцию слушателя.
Параметр будет содержать событие, которое сработало (вы можете остановить это)
использование event.preventDefault()
при условии, что параметр называется событием.
Посмотрите этот jsFiddle в качестве примера