1
我有我的網頁上以下JavaScript:Telerik的RadTextBox ValueChanged事件和window.onbeforeunload
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事件在onvaluechanged之前觸發,而isDirty變量在onbeforeunload處理程序中具有不正確的值(false)。
我做錯了什麼或者是否有解決方案?