鼠标离开视口时JS / Jquery触发器?

时间:2013-01-31 18:00:35

标签: javascript jquery firefox mouseleave

当鼠标离开视口时,如何触发功能?

我从“html”中听“mouseleave”事件。 但在Firefox中,“mouseleave”也会在两种情况下被触发。  1.当警报弹出时(我现在通过添加模糊/焦点监听器来解决它)  2.当我右键单击页面时,鼠标移动到显示菜单。

似乎firefox将此行为视为“mouseleave”,即使我的鼠标仍在页面中。

这是我的代码。

$('html').bind('mouseleave',bouncehandler);
var visted = 1;
var bouncehandler = function(e){  
    var yheight = $(window).height();
    if(e.pageX<$('body').width() && e.pageY < yheight ){
       alert('leaving');
       $('html').unbind('mouseleave',bouncehandler);
    }
}

$(window).blur(function(){
   $('html').unbind('mouseleave',bouncehandler);
}).focus(function(){
   if(visited){
       $('html').bind('mouseleave',bouncehandler);
    }
});

我该如何解决这个问题?感谢

1 个答案:

答案 0 :(得分:0)

您只能在视口内获取鼠标位置和任何鼠标事件。

您可以设置浏览器关闭时要执行的功能,如下所示:

function confirmExit(){
    alert("confirm exit is being called");
    return false;
}

window.onbeforeunload = confirmExit;