【发布时间】:2010-12-09 17:16:09
【问题描述】:
这个 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});
}
}
}
});
这在所有浏览器中都非常适合我。出于某种原因,它在 Chrome 中随机运行,而对于测试该站点的朋友来说,它似乎根本不在 Firefox 中。在我的浏览器(firefox 3.5.3)中,e.pageY 在控制台框中记录为接近 0 的数字,但在我的朋友浏览器(也是 firefox 3.5.3)中,最低值约为 240。我不知道为什么会这样考虑到相同的浏览器正在发生。有没有人知道如何调试这个,或者另一种更可靠的方法来检测鼠标何时通过顶部离开网页?我希望这是有道理的。
【问题讨论】:
-
你试过快速移动鼠标吗?如果鼠标快速移动,事件有时不会触发。
-
如果移动速度非常快,大部分时间它都会记录下来(这不是真正的问题)。然而,为了测试鼠标移动非常缓慢
-
@vava,我只是说你的朋友可能机器速度较慢/屏幕较大,并且移动鼠标速度很快。这可能是造成差异的原因。
标签: javascript jquery cross-browser