-1

以下のコードを使用してマウス座標をキャプチャし、それを div(container) にバインドします。「container」内に「subDiv」というもう 1 つの div があります。「subDiv」内のどこに移動しても、座標は常に「subDiv」に入力したばかりのものであることがわかりました(たとえば、「subDiv」を(10,10)で入力します。「subDiv」内のどこに移動しても、座標は常に (10,10)) です。誰かが理由を知っていますか?
var x,y;
var e = e||window.event;
return {
x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop
};

4

1 に答える 1

1

貼り付けたものは、次のデモとして機能します。他のコードを確認してください。

<!DOCTYPE html>
<html>
    <head>
        <script>
            function test(e){
                var x,y;
                var e = e||window.event;
                return {
                    x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
                    y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop
                }; 
            }
            function myFunction(event){
                var x = test(event);
                document.getElementById("demo").innerHTML=x.x + '.' + x.y;
            }
        </script>
    </head>

    <body>
        <div id="container">
            <div id="subDiv" style="width:199px;height:99px;border:1px solid"  onmousemove="myFunction(event)"></div>
        </div>
        <p id="demo"></p>
    </body>
</html>
于 2012-12-21T06:22:27.480 に答える