我正在使用javascript window.onbeforeunload函数,以便在用户尝试离开页面而不提交数据时向用户显示警报。 这个function正常。
问题出现在IE(仅限)中,即使点击内部链接,window.onbeforeunload事件也会触发
Edit
这是一个内部链接,用于编辑网格行而不进行任何重定向或ajax调用。 只是简单地编辑html DOM结构中新创建的行。
这是我在页面中使用的javascript代码:
var is_clicked = false; $(document).ready(function(){ $('#get-a-quote-step2').submit(function(){ is_clicked = true; return validate('get-a-quote-step2'); }); $('#skip_step, form input').click(function(){is_clicked = true;}); }); window.onbeforeunload = function() { if(!is_clicked) return false; } is_clicked = false;
一切都在firefox上工作正常,但在IE上却产生了问题。 我正在使用IE 8测试这些东西,但我猜问题是IE的alll版本。
在上面的代码中,问题是如果我点击内部链接它将is_clicked标志设置为true然后如果我按下刷新按钮,我就可以重新加载页面而不询问用户他离开了他将丢失所有未保存的数据。
我在想是否还有esp; 在JQuery中,以便我们知道某些特定链接是否未被点击,如isNotClicked()? 或者,如果我的问题有任何其他解决方案,我们非常欢迎。
因此,如果您只想阻止某些链接触发onbeforeunload事件,您可以在Click事件声明中简单地返回false …
需要了解更多jQuery教程分享在javascript中的window.onbeforeunload,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
Call unload first and load a page Do an ajax request
以上就是jQuery教程分享在javascript中的window.onbeforeunload相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/981424.html