1
            if(!$('fieldset.quote-step4').hasClass('show')) {
                window.onbeforeunload = function() {
                    return "Are you sure you want to leave the quote request page? This will reset the form.";
                }
            } else {
                window.onbeforeunload = undefined;
            }

我在私有函数内部的脚本中有上述内容,导致 ie8 中出现“未实现”错误。

导致错误的特定行是:window.onbeforeunload = undefined;

根据我在其他问题中所读到的内容,window应该将其声明为局部变量以解决此问题——但我不确定如何。

谁能向我解释这个错误和可能的解决方案?

谢谢!

4

3 回答 3

5

尝试这个:

$(window).on('beforeunload', function() {
   if($('fieldset.quote-step4').hasClass('show')) {
        return;
   }
   return "Are you sure you want to leave the quote request page? This will reset the form.";
});

当 jQuery 已经在您的页面上时,使用 DOM1 处理程序并不是最好的主意。

于 2013-06-14T19:23:10.590 回答
3
window.onbeforeunload = function(){};
于 2013-09-20T08:37:06.300 回答
1

onbeforeunload是一个事件处理程序;显然; IE8 不喜欢清除它。

您可以简单地将其设置为不返回任何内容的函数。

于 2013-06-14T19:21:06.803 回答