我有一個奇怪的問題與jQuery(1.6.x)。我有我的網頁上這個簡單的調用:爲什麼jQuery有時會覆蓋window.onbeforeunload?
window.onbeforeunload = function() { return 'Are you sure ?'; };
但它不工作,因爲我已經找到了,jQuery的覆蓋window.onbeforeunload的內容。在JS控制檯,我可以看到window.onbeforeunload包含一段jQuery代碼:
function(e) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
jQuery.event.handle.apply(eventHandle.elem, arguments) : undefined;
};
有沒有一種方法,我可以找到原因和地點jQuery的覆蓋我的onbeforeunload功能?當我嘗試運行空jsfiddle時,只加載了jQuery並使用我的onbeforeunload函數,它按預期工作。
任何提示將不勝感激。提前致謝。
編輯:
以防萬一,有人建議使用:
$(window).bind('beforeunload', function() { return 'Are you sure';});
我已經嘗試過了,它的行爲方式與使用純JavaScript相同。
您可以使用jQuery'unload'方法嗎? http://api.jquery.com/unload/ –
我能夠成功地將自己的函數應用於'onbeforeunload',並使用jQuery 1.6。有沒有更多的信息或代碼可以提供?這不適用於所有瀏覽器嗎? http://jsfiddle.net/Kai/QgVE8/ – Kai
你在太空中尖叫。提供重現此問題的測試案例,我們可以提供幫助。 – mekwall