2017-09-27 69 views
-1

我讀jQuery文檔在jQuery API Documentation

可以清楚地寫了.unload()將在1.8版本後不推薦使用,並在3.x中完全移除給定功能.unload()

我有一個本地Intranet應用程序依賴此.unload()函數。

我是否需要手動依賴window.onbeforeunload函數,並確定某個特定的瀏覽器是否支持該功能,或者任何人都可以幫助我找到一個更通用的解決方案。

至於建議由凱文,我試圖

$(window).on("unload", function(e){ 
 
    return confirm("Do you really want to exit"); 
 
});
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 
 
Testing JQuery Unload in 3.x Version

Fiddle

但它不工作

+3

替換'.unload()''與其中未過時。對( '卸載',函數())'。 –

+2

_明確表示卸載函數在1.8_版本之後的版本中不會被折舊,因爲它已經在1.8版本中被棄用了,在1.8版本之後沒有什麼可以棄用的了。使用'on'方法,這是根據Kevin –

+0

@KevinKloet建議的'adddEventListener'的jQuery替代方法,因爲我現在已經使用**。on **方法。 你可以幫我找出爲什麼我的小提琴不工作https://jsfiddle.net/vibs2006/bqge8x22/ – vibs2006

回答

1

unload是jQuery的速記方法已經過時了。在使用on時,您必須使用與JavaScript中現有的完全相同的事件,以刪除on

在這裏,使用的beforeunload代替unload

//$(window).on("unload", function(e){ 
 
//    ^^^ 
 
$(window).on("beforeunload", function(e) { 
 
//   ^^^ 
 
    return confirm("Do you really want to exit"); 
 
});
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 
 
Testing JQuery Unload in 3.x Version

+0

不適用於firefox – vibs2006

+0

@ vibs2006,它可以在Firefox中使用。用戶只需與頁面進行適當的交互,以便Firefox允許用戶確認離開。你應該[閱讀文檔](https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload)。在某些情況下,Firefox阻止使用'confirm',但是'onbeforeunload'事件觸發。請注意,Firefox也不允許確認中的自定義消息離開頁面。你需要演示'$(window).unload()'工作的情況,但是'$(window).on('beforeunload')'不能。 – Makyen

+1

@ vibs2006請在[此JSFiddle](https://jsfiddle.net/wm1tu9qv/)中的Firefox中嘗試不同之處,不要在文本區域中鍵入任何內容,並在文本區域中鍵入內容。 – Makyen

相關問題