3

我有一个网页(jsp),其中包含另一个使用的 jsp

     <%@jsp:include ... %>

当我单击第二部分(包含页面)时,使用获取坐标

    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 回答