IE8 Что такое tiggering перед событием unload - PullRequest
7 голосов
/ 19 февраля 2011

У меня есть проблема, которая является единственной проблемой в IE8, пойди разберись.

У меня есть тег привязки с атрибутом onclick

<a href="javascript:void(0);" onclick="foo();">Click Me</a>

и затем foo объявляется в другом месте:

<script type="javascript/text">
     function foo(){
       //do some work
       return false;
     }
</script>

После вызова foo выполняется мой обработчик onbeforeunload, и я понятия не имею, почему.

У меня были другие экземпляры, если функция foo не возвращает false, она вызывает событие beforeunload в IE, но даже если эта функция возвращает false, она все равно попадает в мой обработчик onbeforeunload, и я не могу понять, почему.

Есть ли способ узнать, что его вызывает. Я просмотрел объект события внутри моего обработчика onbeforeunload, но, похоже, он не дает мне нужную информацию.

Есть идеи?

Ответы [ 3 ]

7 голосов
/ 19 февраля 2011

Измените его на

<a href="#" onclick="return foo();">Click Me</a>

или

<a href="#" onclick="foo();return false;">Click Me</a>
0 голосов
/ 21 февраля 2013

У меня также была эта проблема на некоторых якорных тегах, которые обрабатывались CK Editor.Исправлено путем прикрепления события click к DIV, который окружал соответствующие теги привязки и останавливал распространение событий в окно:

$('div.cke_form_fix').on('click', function(e){
    e.stopPropagation();
});
0 голосов
/ 17 августа 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...