【发布时间】:2021-12-08 07:31:26
【问题描述】:
我正在使用 jqueryui 中的可拖放功能来填充幻灯片,其中包含列表中的图片,有点像编辑器。所有内容都在扩展整个页面的弹性框内。
一切都几乎按照我的意图完美运行,但有一种情况是幻灯片中的拖放行为很奇怪。切换幻灯片插槽后,我无法再将 img 拖放到左侧,但奇怪的是我可以将其拖放到右侧。它似乎只发生在某些情况下,当弹性框的对齐方式不同时。
<div class="flex-parent">
<div class="slideshow-container flex-child">
<div class="slideshow-box">
<div>
</div>
<a class="prev">❮</a>
<a class="next">❯</a>
</div>
<br>
<div id="dots" style="text-align:center">
</div>
</div>
<div id="imagesContainer" class="flex-child">
<img src="https://via.placeholder.com/200x100" alt="" width="200" height="100">
<img src="https://via.placeholder.com/200x100" alt="" width="200" height="100">
</div>
</div>
小提琴:https://jsfiddle.net/kilroy_2/cjs4mp96/2/
如果有人能告诉我为什么会发生这种情况,这是 jqueryui 内部的错误还是奇怪的行为,因为幻灯片项目即使隐藏了也会占用空间?是不是 flexbox 的问题?
【问题讨论】:
-
欢迎来到 Stack Overflow。我认为这个问题与您的
accept有关。您可能还想看看 Sortable 与 Drop,但我还不确定。 JavaScript 和 jQuery 也有很大的混合,如果可能的话,最好使用其中一种而不是混合使用。此外,Droppable 只有在可拖动对象位于放置目标上方时才会触发“放置”。我测试时似乎一切正常:jsfiddle.net/Twisty/68uhraL0/4 -
这似乎只发生在某些情况下,当弹性框的对齐方式不同时,我不知道为什么,因为弹性父级“droppable”应该可以在页面上的任何位置工作。
-
我猜有些东西“在”
flex-parent上,所以悬停在 droppable 上并没有发生,而是悬停在另一个不太清楚的目标上。 -
看起来这家伙也有同样的错误。当可放置对象被隐藏时,Jqueryui 会留下幽灵可放置区域。 stackoverflow.com/questions/30734423/…
标签: javascript jquery jquery-ui draggable droppable