gpt4 book ai didi

javascript - 使用 ngDraggable 忽略父元素

转载 作者:行者123 更新时间:2023-11-30 09:58:14 25 4
gpt4 key购买 nike

我在一个用户案例中使用 ngDraggable,该用户案例由一个 div 内的一个 div 组成,并且它们都是可拖动的。

我也想重新排序子元素和父元素。

但是,当我尝试移动 child 时, parent 也被移动了。

这是一个显示问题的 plunkr:

http://plnkr.co/edit/xhLgXW0hPxLucQiKt6Q1?p=preview

<div ng-drag="true" class="red-box">
<div ng-drag="true" class="blue-box">
</div>
</div>

尝试移动蓝色方 block ,红色方 block 会被拖到一起。

有人知道如何只移动蓝色框吗?

最佳答案

看来 ng-drag 并不是要嵌套的。您可以使用 CSS 实现相同的外观并获得预期的行为。

我已经取消嵌套 div(拖动 handle )并绝对定位它们(​​对于您给出的示例来说是最简单的解决方案)。

http://plnkr.co/edit/cQ3aUmhvIoK58b88UpRv?p=preview


另一种不使用 OP 建议的 PR 的解决方案是将 ng-mousedown="$event.stopPropagation()" 添加到子元素,即:

<div ng-drag="true" class="red-box">
<div ng-drag="true" class="blue-box" ng-mousedown="$event.stopPropagation()"></div>
</div>

它阻止父元素接收到开始拖动的鼠标按下事件。

http://plnkr.co/edit/onwCzYy4mtI8pz1mSoNV?p=preview

关于javascript - 使用 ngDraggable 忽略父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32958203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com