1

如果用户要离开未保存更改的页面,我正在处理显示警告框的要求。这是代码:

$(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 对话框?

4

1 回答 1

1

AFAIK 无法覆盖onbeforeunload外观和感觉 UI 实现。您(作为 Web 开发人员)能做的最好的事情就是返回一个字符串。该字符串呈现给用户的方式完全不受您的控制,并且取决于浏览器。例如,如果您正在编写一个 .NET 桌面应用程序并使用WebBrowser控件(它是 IE 的包装器),则由来实现和处理此方法。

因此,除非您正在编写自定义浏览器扩展,否则您基本上可以忘记 jQuery UI 对话框。

于 2012-04-30T21:45:35.160 回答