IE浏览器中的onbeforeunload问题

shi*_*mar 5 jquery

我使用下面的代码离开当前页面.它在chrome和mozilla中运行良好,但它在IE 10浏览器中调用每个锚标签.我该怎么做才能防止在IE 10浏览器中调用它?

window.onbeforeunload = function()
{   
   return  "";
};
Run Code Online (Sandbox Code Playgroud)

Zah*_*med 1

这是 IE 的默认行为,当您将鼠标悬停在锚标记上时,您需要从锚标记中删除 onbeforeunload 事件:

$(document).ready(function(){
    //store onbeforeunload for later use
    $(window).data('beforeunload',window.onbeforeunload);  

      //remove||re-assign onbeforeunload on hover 
    $('a')
      .hover( 
             function(){window.onbeforeunload=null;},
             function(){window.onbeforeunload=$(window).data('beforeunload');}
            );


});
Run Code Online (Sandbox Code Playgroud)

或者您需要“返回 false”每个锚标记的 onClick 事件:

<a onclick="someFunction(); return false;" href="lnk" >my link</a>
Run Code Online (Sandbox Code Playgroud)