解决IE下a标签会触发window.onbeforeunload的问题
程序员文章站
2022-06-07 14:20:06
在网上找到两种解决方式 : 方式一 : 方式二: ......
在网上找到两种解决方式 :
方式一 :
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 6 7 <script type="text/javascript"> 8 window.onbeforeunload=function(){ 9 return "56456456"; 10 } 11 function testMothed(){ 12 alert("555"); 14 } 15 </script> 16 </head> 18 <body> 19 点a标签时事件调用顺序:onclick->window.onbeforeunload->href 20 21 在IE中点击A标签会触发window.onbeforeunload事件,这有时会给我们带来麻烦。 22 23 我知道的有两种解决方法:1、<a href=”###”/>3个#号可以防止锚点,2、根据事件顺序onclick="return false;"不执行window.onbeforeunload->href两个事件。 24 25 测试1、测试2、测试3 都不会触发window.onbeforeunload事件。 26 27 <a href="javascript:void(0);">测试0</a> 28 <a onclick="return true;" href="#">测试1</a> 29 <a onclick="return true;" href="###">测试2</a> 30 <a onclick="testMothed();return false;" href="javascript:alert(22)">测试3</a> 31 <a onclick="testMothed();" href="javascript:alert(22)">测试4</a> 32 33 </body> 34 </html>
方式二:
1 //IE javascript:void(0)会触发window.onbeforeunload事件 2 $('a[href="javascript:void(0);"]').live("click",function (e){ 3 e.preventDefault(); 4 });
推荐阅读
-
IE9下Ajax无法刷新数据的缓存问题解决方法
-
PHP关于IE下的iframe跨域导致session丢失问题解决方法
-
Jquery $.getJSON 在IE下的缓存问题解决方法
-
IE8下载文件时无法调用迅雷怎么办?IE8浏览器无法用迅雷下载问题的解决办法介绍
-
完美解决axios在ie下的兼容性问题
-
AngularJS在IE下取数据总是缓存问题的解决方法
-
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
-
IE中iframe标签显示在DIV之上的问题解决方案
-
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
-
jquery mobile的触控点击事件会多次触发问题的解决方法