Я хотел бы, чтобы моя бизнес-логика в моем обработчике события onbeforeunload возникала только при нажатии на указанный элемент.
У меня есть следующий код (упрощенно):
var myButtonClicked = false;
$(document).ready(function() {
window.onbeforeunload = myEventHandler;
$("#myButton").click(function() {
myButtonClicked = true;
$("#myform").submit();
});
});
function myEventHandler(event)
{
if (myButtonClicked)
{
// Do checking.
// return "Dirty flag..blahblah";
}
}
В настоящее времяэто приводит к довольно странному поведению - при первом нажатии моей кнопки событие click обрабатывается после myEventHandler.Во второй раз, когда я щелкаю по нему, он обрабатывается заранее (это в FF4.0).
Любая помощь в получении этой работы будет принята с благодарностью.
РЕДАКТИРОВАТЬ: Исправлено.:)
По сути, у меня было два события щелчка;
myButton.click(function() {
...
ignoreFlag = true;
});
myButton.click(function() {
form.submit();
});
Это всегда было соревнование относительно того, какое событие было запущено первым.Я объединил их, и похоже, что они работают правильно.
Спасибо за вашу помощь ysrb:)