我目前有一個類似於此格式的網頁,帶有側欄和內聯框架,指向我網站上的其他頁面。JavaScript確認讓用戶與iframe中的對象互動
我有下面的代碼,以供用戶確認框,如果他們希望離開頁面:
window.onbeforeunload = function(e) {
return 'All unsaved data will be lost.';
};
在內部框架,我有不同的HTML元素,如文本框,輸入框,按鈕等。我不希望用戶獲得onbeforeunload
函數,除非他們先點擊了其中一個輸入元素。
當然,我可以去和每個代碼文本框,按鈕等,使用手動創建如shouldPopup
一個變量,然後使用onclick
設置shouldPopup
到TRUE
,最後使用onbeforeunload
if語句,但這是不方便的,如果我將來可能會做出更多改變,我可能不得不再次逐一修改每個元素。
什麼是獲得相同結果的更好方法?任何關於如何簡化代碼的輸入都非常感謝! :)
更新:
我的I幀的一些詳細信息。我正在使用一些基本功能的jQuery庫(沒有什麼奇特的)。其中有相當多的PHP,以及一些數據庫請求,但沒有什麼不尋常的。希望這些信息對任何想提出任何建議的人都很有幫助
在我看來,這是實現這個最直接的方法。我假設你在iFrame的表單中沒有使用像[Backbone.js](http://backbonejs.org/#)這樣的模型/視圖工具,因此監視狀態並設置標誌是最簡單的方法。您能否請添加一些細節:(縮寫)您在iFrame中使用的代碼,您正在使用的庫(如jQuery,Backbone.js等)。這將有助於瞭解您的設置。 –
更新了我的文章。如果還有其他東西可以添加,請告訴我! – Charles