将div粘贴到鼠标光标不起作用

时间:2014-09-08 21:02:35

标签: javascript html

我通过提示获取用户的名字,并希望用鼠标光标将用户的名字粘贴在包含名称的div上。但它不起作用。我的div不会在光标下编织。问题是什么我的代码?

<body>
    <div id="myDiv1"></div>
    <script>
        var n = window.prompt("Enter your name please", "");
        var t = document.getElementsById("myDiv1").offsetTop;
        var l = document.getElementsById("myDiv1").offsetLeft;

        function myPointer() {
            document.addEventListener('mousemove', function(e) {
                var x = e.pageX;
                var y = e.pageY;
                t = y;
                l = x;
            })
        }
        myPointer();
    </script>
</body>

http://jsfiddle.net/ywxLyv77/

1 个答案:

答案 0 :(得分:2)

正如其他人所提到的,语法为getElementById而不是getElementsById

此外,您似乎试图通过引用设置offsetTopoffsetLeft。首先,offsetLeftoffsetTop是只读的。其次,更改已设置为元素属性的变量不会更改属性本身的值。

我通过使用style直接设置CSS定义获得了成功:

var mydiv1=document.getElementById("myDiv1");    

document.addEventListener('mousemove', function (e) {
    var x = e.pageX;
    var y = e.pageY;
    mydiv1.style.top = y + 'px';
    mydiv1.style.left = x + 'px';
});

WORKING EXAMPLE

编辑:

您可以通过添加或减去<div>x值来调整y相对于鼠标位置的位置。例如:

mydiv1.style.top = (y-15)+ 'px';
mydiv1.style.left = (x-8) + 'px';

WORKING EXAMPLE