这个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/

10-11 05:47