3

を使用して別のjspを含むWebページ(jsp)を持っています

     <%@jsp:include ... %>

2番目の部分(含まれているページ)をクリックすると、次を使用して座標を取得します

    window.event.clientX 
    window.event.clientY

それぞれ x と y に格納します。今、私はdivをそのマウス座標で見えるように設定しています.

    document.getElementById('division').style.top=x;
    document.getElementById('division').style.left=y;

期待どおり、マウスがクリックされたのと同じ場所にその div が表示されます。しかし、分割は別の場所に来ています..

その理由は何ですか??

4

1 に答える 1

5

一番上のプロパティは文字列です。試すdocument.getElementById('division').style.top=x + 'px';

次のコードを試してみたところ、IE と Firefox で問題なく動作しました。onclick は IE 用で、addEventListener は準拠ブラウザ用です。

<div id="clickMe" style="position: absolute; top: 10px;" onclick="myClick();">
    clickMe
</div>
<div id="division" style="position: absolute; top: 40px;">
    division
</div>
<script type="text/javascript">
    var clickMe = document.getElementById('clickMe');
    clickMe.addEventListener('click', myClick, 'false');

    function myClick(e) {
        var evt = e || window.event; //windows.event is for IE
        var x = evt.clientX;
        var y = evt.clientY;            
        document.getElementById('division').style.top = y + 'px';
        document.getElementById('division').style.left = x + 'px';
    }
</script>
于 2012-10-26T09:32:52.447 に答える