1. ホーム
  2. jquery

[解決済み] マウスイベントを使わずにjQueryでマウスの位置を取得する方法は?

2022-02-14 15:25:43

質問

マウスの現在位置を取得したいのですが、使わないでください。

$(document).bind('mousemove',function(e){ 
        $("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY); 
}); 

というのも、位置を取得して情報を処理するだけだからです

どのように解決するのですか?

という方法はないと思います。 クエリ を使用すると、マウスの位置が表示されます。 mousemove ハンドラは情報を保存するだけなので、保存された情報を照会することができます。

jQuery(function($) {
    var currentMousePos = { x: -1, y: -1 };
    $(document).mousemove(function(event) {
        currentMousePos.x = event.pageX;
        currentMousePos.y = event.pageY;
    });

    // ELSEWHERE, your code that needs to know the mouse position without an event
    if (currentMousePos.x < 10) {
        // ....
    }
});

しかし 以外のほぼすべてのコードは setTimeout コードなどは、イベントに応答して実行され、ほとんどのイベントはマウスの位置を提供します。ですから、マウスの位置を知る必要のあるコードは、おそらくすでにその情報にアクセスしているのです...。