2012-04-30 63 views
1

我正在努力的要求,顯示一個警告框,如果用戶即將離開頁面未保存的更改。這是代碼:瀏覽器覆蓋警告對話框上的文本使用jQuery 1.4

$(function() { 
    $(':input',document.myForm).change(function() { 
     window.onbeforeunload = function() { 
      return "Are you sure you want to leave this page? You have unsaved changes!"; 
     } 
    }); 

    $('form').submit(function() { 
     window.onbeforeunload = function() { }; 
    }); 
}); 

一切正常,但是,文本和彈出框被瀏覽器覆蓋。我試過IE和Firefox,但它們似乎都覆蓋了我的文本並使用了它們內置的警告彈出窗口。有沒有辦法解決這個問題,我可以配置我的文本和jQuery對話框顯示一個彈出窗口?

回答

1

AFAIK無法覆蓋onbeforeunload外觀和感覺UI實現。你可以做的最好(作爲web開發者)返回一個字符串。該字符串呈現給用戶的方式絕對不受您的控制,並且依賴於瀏覽器。例如,如果您正在編寫.NET桌面應用程序並使用WebBrowser控件(該控件是IE的包裝),則實現並處理此方法爲up to you

所以你可以基本上忘記jQuery UI對話框,除非你正在編寫自定義瀏覽器擴展。

+0

不想走那條路。好吧,既然功能在那裏,我想我會跟着這個去做。 –