У меня на странице есть следующий javascript:
var isDirty = false;
function OnTextBoxValueChanged(sender, args)
{
isDirty = true;
}
window.onbeforeunload = function ()
{
if (isDirty)
{
return 'You have unsaved changes on the form.';
}
}
OnTextBoxValueChanged - обработчик соответствующего клиентского события RadTextBox.
если пользователь изменяет текст в текстовом поле, затем перемещает фокус на любой другой элемент и затем нажимает «закрыть вкладку» в браузере - появляется окно подтверждения. Это правильно. Но проблема возникает, когда пользователь изменяет текст, а затем сразу же нажимает «закрыть вкладку». В этом случае событие onbeforeunload срабатывает перед изменением onvalue, а переменная isDirty имеет неверное значение (false) в обработчике onbeforeunload.
Я что-то не так делаю или есть обходной путь для моего дела?