Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не работает такой обработчик? (https://javascript.ru/forum/misc/37724-pochemu-ne-rabotaet-takojj-obrabotchik.html)

Sirius-jack 04.05.2013 13:05

Почему не работает такой обработчик?
 
Скажите пожалуйста, почему не работает следующий обработчик для события onbeforeunload:
<script type="text/javascript">
<!--
function f_unload () {
n = window.confirm (" Покинуть страницу? ")
if (n==null) {event.returnValue = false;}
}
//-->
</script>
?
Я понимаю, что стандартный метод - это
returnValue = "Покинуть страницу?"
, но по идее первый тоже должен работать?
Спасибо!

dmitriymar 04.05.2013 13:10

Цитата:

Сообщение от Sirius-jack
?
Я понимаю, что стандартный метод - это
returnValue = "Покинуть страницу?"
, но по идее первый тоже должен работать?

Стандартный метод чего ?

В гугле забанили? http://learn.javascript.ru/default-browser-action

Sirius-jack 04.05.2013 13:24

Цитата:

Сообщение от dmitriymar (Сообщение 248922)
Стандартный метод чего ?

стандартный метод отмены действий по умолчанию при закрытии окна браузера.
Можно как-нибудь использовать метод confirm в данном случае?

Sirius-jack 04.05.2013 13:33

такой код
function f_unload () {
if (event.preventDefault) {event.preventDefault ()
}
else {
event.returnValue = false;}
}
тоже не работает ни в Firefox ни в яндекс-браузере

dmitriymar 04.05.2013 14:52

Цитата:

Сообщение от Sirius-jack
стандартный метод отмены действий по умолчанию при закрытии окна браузера.

вот это стандартный метод?
Цитата:

Сообщение от Sirius-jack
returnValue = "Покинуть страницу?"

Жаль что никто кроме вас не знает такого "стандартного метода"

Цитата:

Сообщение от Sirius-jack
тоже не работает ни в Firefox ни в яндекс-браузере

ссылка для чего была дана ?
Сравните свой код с кодом по ссылке . не находите, что чего то не хватает?
И начните изучать язык и принципы программирования с основ -вы их не знаете

По русски ведь по ссылке :
Цитата:

Кроссбраузерный код:
element.onclick = function(event) {
event = event || window.event

if (event.preventDefault) { // если метод существует
event.preventDefault();
} else { // вариант IE<9:
event.returnValue = false;
}
}
Цитата:

Если обработчик назначен через on..., то return false из обработчика отменяет действие браузера:
element.onclick = function(event) {
...
return false;
}
Такой способ проще, но не будет работать, если обработчик назначен через addEventListener/attachEvent
.

qwerty-клавиатура 04.05.2013 17:16

return false
тож сойдет

Sirius-jack 04.05.2013 17:26

Понял, спасибо


Часовой пояс GMT +3, время: 08:05.