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
应该被声明为一个局部变量来解决这个问题 - 但我不确定如何。
任何人都可以向我解释这个错误并提供可能的解决方案吗?
谢谢!
答案 0 :(得分: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处理程序并不是最佳选择。
答案 1 :(得分:3)
window.onbeforeunload = function(){};
答案 2 :(得分:1)
onbeforeunload
是一个事件处理程序;显然, IE8不喜欢清除它。
您可以简单地将其设置为不返回任何内容的函数。