有誰知道如何阻止頁面重新加載或導航?如何在JS中停止頁面卸載(導航)?
jQuery(function($) { /* global on unload notification */ warning = true; if(warning) { $(window).bind("unload", function() { if (confirm("Do you want to leave this page") == true) { //they pressed OK alert('ok'); } else { // they pressed Cancel alert('cancel'); return false; } }); } });
我目前在電子商務網站上工作,顯示您未來訂單的頁面可以使用+/-按鈕更改訂購商品的數量。以這種方式更改數量並不會實際改變訂單本身,他們必須按下確認,並因此採取積極行動來更改訂單。
但是,如果他們更改了數量並導航離開頁面,我想警告他們他們這樣做是爲了防止發生意外,因爲如果他們導航或刷新頁面,更改的數量將會丟失。
在上面的代碼中,我使用了一個默認爲false的全局變量(它只對測試有效),當數量發生變化時,我會將這個變量更新爲true,當他們確認這些變化時,我會將其設置爲false。
如果警告爲真,頁面被卸載,我給他們一個確認框,如果他們說不,他們想留在這個頁面上我需要停止卸載。返回false不起作用,它仍然允許用戶導航(警報僅用於調試)
任何想法?
相關:http://stackoverflow.com/q/821011/435605 – 2016-02-09 06:17:07