2009-11-16 66 views
0

在头:单击锚标签时可以防止onbeforeunload被调用吗?

<head> 
    <script type="text/javascript">       
     $(document).ready(function() { 
      $("#anchor_id").click(clickHandler); 
      window.onbeforeunload = confirmExit; 
     }); 

     function clickHandler() { 
      /* hide/show some hidden div's */ 
      $("body").append("<p>Hi there</p>"); 
     } 

     function confirmExit() { 
      return "There are some unsaved changes on page."; 
     } 
    </script> 
</head> 

在车身:

<a id="anchor_id" href="javascript: void(0);">Click Me</a> 

是否有可能阻止onbeforeunload在Internet Explorer这个链接,当点击被称为 ?在浏览器的其余 代码工作正常。

回答

1

尝试设置href="#"代替,并在clickHandler函数返回false(或防止event.preventDefault()默认事件)

0

试试这个,在FF3.5测试,IE8

<html> 
    <head> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() 
      { 
       $("#anchor_id").click(clickHandler); 
       window.onbeforeunload = function() 
       { 
        return "There are some unsaved changes on page."; 
       }; 
      }); 

      function clickHandler() 
      { 
       /* hide/show some hidden div's */ 
       $("body").append("<p>Hi there</p>"); 
       return false; 
      } 
     </script> 
    </head> 
    <body> 
     <a id="anchor_id" href="javascript: void(0);">Click Me</a> 
    </body> 
</html> 
相关问题