解决IE下a标签会触发window.onbeforeunload的问题

在网上找到两种解决方式 : 

方式一 :

 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         });

 

posted on 2018-05-09 16:04  hi-gdl  阅读(270)  评论(0编辑  收藏  举报

导航