IE浏览器中的onbeforeunload问题

时间:2013-07-24 05:40:16

标签: jquery

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

window.onbeforeunload = function()
{   
   return  "";
};

3 个答案:

答案 0 :(得分: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');}
            );


});

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

<a onclick="someFunction(); return false;" href="lnk" >my link</a>

答案 1 :(得分:0)

使用此

window.onbeforeunload = function (e) {
var e = e || window.event;

// For IE and Firefox
if (e) {
    e.returnValue = '';
}

// For Chrome and Safari
return '';
};

答案 2 :(得分:0)

试试这个

<html>
<head>
<script>
   function closeIt()
   {
      return "Any string value here forces a dialog box to \n" + 
     "appear before closing the window.";
    }
  window.onbeforeunload = closeIt;
</script>
</head>