0

マウス カーソルの座標を取得し、KineticJS ステージを離れたときに操作を実行しようとしています。しかし、ステージ キャンバスに対するマウスの座標を取得する必要があります。そのため、マウス カーソルがステージの左端から離れると、座標は 0 になり、ステージが Web ページのどこに配置されていても、y 座標は 0 になります。関数を書きましたが、コンソールに NaN が表示されます。

container は、ステージが配置される div です。

function checkBounds(e) {
    var canvas = document.getElementById("container");
    console.log(e.clientX - stage.getX() + "," + e.clientY - stage.getY());
}
4

1 に答える 1

2

Web ページ上のコンテナー オフセットを検索する jquery コードを次に示します。

    var containerOffset=$("#container").offset();
    var offsetX=containerOffset.left;
    var offsetY=containerOffset.top;

イベントハンドラ内で正確なマウス位置を取得する方法は次のとおりです

    function handleMouseDown(e){
      mouseX=parseInt(e.clientX-offsetX);
      mouseY=parseInt(e.clientY-offsetY);

      // Put your mousedown stuff here

    }
于 2013-04-02T00:26:13.117 に答える