欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-06 12:28:34
在网上找到两种解决方式 : 方式一 : 方式二: ......

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

方式一 :

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