0

我正在尝试使用 jQuery 使 div 可拖动,但是如果没有 jQuery UI,我无法弄清楚为什么当我使用 e.target.id 时出现错误,该字段中的值在某些时候为空或 null .

如果我在函数中硬编码 Id 它工作得很好,我在这里错过了什么?

我感谢您的帮助。

这是我的代码:

 <div id="Div1" style="width: 100px; background-color: red">test</div>


    $(document).ready(function () {
        dragObject.init("Div1");
    });

jQdrag.js

var dragObject = (function () {

    var init = function (dragObj) {
        addListeners(dragObj);
    };

    var addListeners = function (dragObj) {

        document.getElementById(dragObj).addEventListener('mousedown', mouseDown, false);
        window.addEventListener('mouseup', mouseUp, false);
    };

    mouseDown = function (e) {
        window.addEventListener('mousemove', divMove, true);
    };

    mouseUp = function () {
        window.removeEventListener('mousemove', divMove, true);
    };

    divMove = function (e) {
      debugger
        //var div = document.getElementById("Div1");
      var div = document.getElementById(e.target.id); //ERROR

        div.style.position = 'absolute';
        div.style.top = e.clientY + 'px';
        div.style.left = e.clientX + 'px';
    };

    return {

        init: function (dragObj)
        {
            init(dragObj);
        }

    };
})();
4

0 回答 0