这个Jquery问题已经困扰了我一段时间了。我开发了一个脚本,该脚本具有一个功能来检测鼠标何时从页面顶部离开。这是代码:
$(document).bind("mouseleave", function(e)
{
console.log(e.pageY);
if (e.pageY <= 1)
{
now = new Date();
for (i=0; i < times.length; i++)
{
if (now.getTime() > times[i][0] && now.getTime() < times[i][1])
{
$.fn.colorbox({iframe:true, width:650, height:600, href: "work.html", open: true});
}
}
}
});
这对于所有浏览器都非常适合我。由于某种原因,对于测试该网站的 friend 来说,它在Chrome中是随机工作的,在Firefox中似乎根本没有作用。在我的浏览器(firefox 3.5.3)中,e.pageY在控制台框中记录为接近0的数字,但是在我的 friend 浏览器(也是firefox 3.5.3)中,最小值约为240。我不知道为什么会这样正在考虑使用相同的浏览器。是否有人知道如何调试此方法,或者是否有其他更可靠的方法来检测鼠标何时从顶部离开网页?我希望这是有道理的。
最佳答案
如果您的窗口向下滚动,在页面中添加一串<br/>
,然后向下滚动一行,就会出现问题。
因此,与其查看e.pageY
if (e.pageY - $(window).scrollTop() <= 1)
{
// do something
}
关于javascript - 使用jQuery检测鼠标何时通过页面顶部离开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1617757/