2011-12-01 55 views
0

我有一個C#.NET MVC3的Web應用程序,我有一個問題涉及到附加的Stackoverflow問題。我正在使用window.beforeunload事件來查看在我的View上是否有更改。如果是這樣,我會提醒用戶他們有未保存的更改。但是,如果他們選擇創建(提交)按鈕,則提醒用戶的對話框仍然彈出。如果選擇「創建」按鈕,我不想彈出對話框。有任何想法嗎?有沒有辦法看到哪個控件被點擊?Javascript Window.onbeforeunload陷阱控件引發事件

回答

2

我能想到的2個解決方案:

$('#submitBtn').click(function() { 
    unbindOnBeforeUnload(); 
}); 

// OR 

// maybe you have multiple cases where you don't want this triggered, 
// so this will be better 
var shouldTriggerOnBeforeUnload = true; 
$('#submitBtn').click(function() { 
    shouldTriggerOnBeforeUnload = false; 
}); 
... 
$(document).unload(function() { 
    if (shouldTriggerOnBeforeUnload) { 
     confirm(); 
    } 
}); 

我寫它在一個jQuery的語法,但只保持代碼的簡潔,你可以使其適應任何你想要的。

+0

@dreavor ....看起來很棒。謝謝 – MikeTWebb