Что-то не так в моей функции onbeforeunload, но я не смог ее найти - PullRequest
1 голос
/ 11 августа 2011

Вот мой рабочий пример на jsfiddle, он работает практически на каждом браузере (я тестировал его на IE9, Firefox, Chrome), за исключением IE8, он действует странно: кнопки изменения класса (mavis или test1) работают, только если дважды щелкнуть по нему .

http://jsfiddle.net/Qq2tk/

Если вы поместите функцию setConfirmUnload вверху jscript, как в моем примере, перед этой функцией:

    $(".temasec").live("click", function()

и нажмите кнопки изменения класса "mavis" или "test1", чтобы ничего не делать при первом щелчке, но это работает при втором щелчке. Это происходит только в IE8 (возможно, в IE7 и IE6, не тестировалось)

Так что, если вы переместите функцию setConfirmUnload после того, как функция изменения класса будет работать нормально.

Что не так с этим кодом? Специально для IE8, поскольку он действует странно только на IE8.

Спасибо за вашу помощь.

пребывающий

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

Вы должны попробовать использовать событие jQuery "unload":

$ (окно) .unload (unloadMessage);

0 голосов
/ 11 августа 2011

Похоже, что live не поддерживает событие изменения.

Проверьте это http://api.jquery.com/live

События вставки и сброса, а также изменения при использовании с входные данные типа "файл" не полностью поддерживаются методом .live (), из-за проблем с имитацией всплывающих событий в Internet Explorer. В В этих случаях можно использовать метод .bind ().

Попробуйте использовать livequery вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...