<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <script type="text/javascript"> window.onbeforeunload=function(){ return "56456456"; } function testMothed(){ alert("555"); } </script> </head> <body> 点a标签时事件调用顺序:onclick->window.onbeforeunload->href 在IE中点击A标签会触发window.onbeforeunload事件,这有时会给我们带来麻烦。 我知道的有两种解决方法:1、<a href=”###”/>3个#号可以防止锚点,2、根据事件顺序onclick="return false;"不执行window.onbeforeunload->href两个事件。 测试1、测试2、测试3 都不会触发window.onbeforeunload事件。 <a href="javascript:void(0);">测试0</a> <a onclick="return true;" href="#">测试1</a> <a onclick="return true;" href="###">测试2</a> <a onclick="testMothed();return false;" href="javascript:alert(22)">测试3</a> <a onclick="testMothed();" href="javascript:alert(22)">测试4</a> </body> </html>
1 楼
jasorel
2012-04-08
太复杂了,也不科学。
只需加上这个就行了。
window.onbeforeunload = function(){
$(document).click(function(e){
return false;
});
只需加上这个就行了。
window.onbeforeunload = function(){
$(document).click(function(e){
return false;
});