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