jqueryでmousemoveを検出する

javascript jquery mouseevent
jqueryでmousemoveを検出する

マウスがjqueryで_停止_移動したことを検出する方法はありますか?

  3  0


ベストアンサー

はい、setTimeoutを使用して、マウスが移動するたびにクリアします。 setTimeoutで指定された時間内にマウスが動かされなかった場合、マウスが動かなくなったと想定できます。 jQueryを利用すると、次のようなことができます。

var stop_timeout = false;
$(function() {
    $().mousemove(function() {
        clearTimeout(stop_timeout);
        stop_timeout = setTimeout(function() {
            alert("The mouse has stopped.");
        }, 1000);
    });
});

マウスが移動するたびにタイムアウトを設定および設定解除するのは少し重いですが、目的に合っているはずです。

4


hoverintentを使用してください。これはすべてあなたのために行います。 これには、マウスの動きを追跡し、加速がいつ減速したかを知る間隔があります(そのため、何かに「真に」ホバーしようとしています)。

また、信じられないほど使いやすいです。 基本的に変更する必要があるのは

$(selector).hover(…​ )

to

$(selector).hoverIntent(…​ )

1


タイトルとURLをコピーしました