Jquery检测第一次鼠标移动

时间:2011-09-16 21:44:55

标签: jquery

我正在寻找第一次发生鼠标移动,因此我可以通过jquery影响来定位人类访问者。关于如何实现这一点的任何线索。我还想在不针对类名或对象ID的情况下执行此操作...因此标记上的空白目标应该这样做。有什么建议?

3 个答案:

答案 0 :(得分:14)

$('body').one('mousemove', function() { .... } );

这将在任何地方查找鼠标移动,但只会执行一次。

注意:这不是一个可靠的方法,智能手机没有鼠标。非人类程序仍然可以移动鼠标。

但它确实回答了你的问题。

答案 1 :(得分:1)

鼠标事件会冒泡到文档,除非被阻止。您通常可以在文档上使用mousemove处理程序查看它们:

document.onmousemove = function() {console.log("mousemove");}

或在jQuery中:

$(document).mousemove(function() {
    // put your code here
});

如果您只想查看一些初始鼠标移动,则可以在所需时间删除事件处理程序,或者在检测到人员后忽略未来事件。

为什么在不是人类的情况下,你不打算不运行动画?你花了多少钱?动画是客户端的事情,对吧?如果它不是人类(如某种类型的机器人),它可能无论如何都没有运行javascript。

答案 2 :(得分:1)

不确定我是否正确理解了你的目的,但是如何做到这一点:

var detectMouseMovement = function() {
    $(document).unbind('mousemove', detectMouseMovement);

    // do whatever you need to do..
};

$(document).bind('mousemove', detectMouseMovement);