javascript - 使 div 可移动但不能移动其子元素

标签 javascript jquery dom

我正在尝试使 div 可移动。 div 具有子 div 元素。您可以在此处查看 jsfiddle:http://jsfiddle.net/TsW5F/2/

我只希望容器(最外的 div)是可移动的。目前,内部文本在没有外部 div 的情况下是可移动的。最外层的容器 div 应始终与其余子元素一起移动。

    <div id="id">
           <div>second div</div>
           <div>third element</div>
   </div>

$(document).ready(function() {
    var $dragging = null;

    $(document.body).on("mousemove", function(e) {
        if ($dragging) {
            $dragging.offset({
                top: e.pageY,
                left: e.pageX
            });
        }
    });

    $('#id').on("mousedown", null , function (e) {
        $dragging = $(e.target);
    });

    $(document.body).on("mouseup", function (e) {
        $dragging = null;
    });
});

最佳答案

问题是 $dragging = $(e.target); 行,而是使用 $dragging = $(this);

$(document).ready(function () {
    var $dragging = null;

    $(document.body).on("mousemove", function (e) {
        if ($dragging) {
            $dragging.offset({
                top: e.pageY,
                left: e.pageX
            });
        }
    });

    $('#id').on("mousedown", null, function (e) {
        $dragging = $(this);
    });

    $(document.body).on("mouseup", function (e) {
        $dragging = null;
    });
});

演示:Fiddle

关于javascript - 使 div 可移动但不能移动其子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111255/

相关文章:

javascript - onClick 不会触发,chrome/safari

javascript - Vue.js,将值从组件发送到 router/index.js

javascript - 在 Django 中使用 POSTed json 对象

javascript - 删除确认对话框在第一次单击时不起作用

java - 如何通过 ID 和 NamedNodeMap 获取 XML 节点 - Java DOM XML

javascript - 是否可以通过浏览器在 JavaScript 中检测硬件加速?

javascript - 显示加载叠加层,直到加载 $http get 图像

javascript - 如何只制作一个可选择的菜单选项 html 和 jquery

javascript - 当 IMAGE 被删除时,将 div 中的值设置为隐藏输入

Java XML 解析 : Avoid entity reference resolution