【问题标题】:jQuery draggable element changes position on drag start when position is absolute当位置为绝对时,jQuery可拖动元素在拖动开始时改变位置
【发布时间】:2018-02-04 22:50:44
【问题描述】:

当我单击该项目并开始拖动它时,它会在拖动开始时更改它的初始位置。元素在 style 属性中具有“left”和“top”属性。当它们具有绝对位置时会发生这种情况。

和 jquery: 最初是这样的:$('.tree li').draggable();

我也试过这个:

$('.tree li').draggable({
  containment: '.tree',
    snap: '.tree',
    start: function (event, ui) {
      if ($(event.target).is('.ui-draggable-dragging')) {
          var x = $(event.target).offset().left;
          var y = $(event.target).offset().top;
          $(this).css({
              'left': x,
              'top': y
          });
        }
      }
});

容器是相对的,只有列表项是绝对的。列出项目时,它们具有设置位置的样式属性。当我点击一个项目时,一开始它会改变它的位置并从改变的位置开始拖动,而不是从我点击它时的位置拖动。

这是一个小提琴: https://jsfiddle.net/oe2955m5/

【问题讨论】:

  • 如果您为代码添加小提琴,我们可以为您提供更好的帮助。

标签: jquery draggable


【解决方案1】:

这是因为父容器的 scale 属性。当我移除秤时,它们会按照它们应该移动的方式移动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 2011-03-25
    • 2016-05-25
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    相关资源
    最近更新 更多