jquery - 当 Flex 子项被拖出时,Flex Parent 不会重新排列

标签 jquery html css jquery-ui flexbox

我正在使用 css3 flex boxes 和 jQuery UI 拖放。

即使我应用了 justify-content:space-around; 如果我拖动一个 flex child 并将其放在 flex 内容之外,其余元素不会重新排列以兑现justify-content 属性。

检查这个JSFiddle

我希望元素在元素被拖出后重新排列(重新排列到 flex-start , flex-end center或者什么...我希望它们在删除元素后流动)

我该如何解决这个问题?

最佳答案

看起来我自己在检查后发现了问题。

jQuery UI 只是改变被拖放元素的位置。即使掉落到另一个 droppable 之后,它仍然留在它的父对象中。因此看起来 css flex 元素没有重新排列......

解决方案是手动分离 draggable 并将其附加到 droppable on drop 事件,例如

ui.draggable.detach().appendTo($(this)); //where this refers to the droppabe

引用:Append Draggable to Droppable (SO)

关于jquery - 当 Flex 子项被拖出时,Flex Parent 不会重新排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23055742/

相关文章:

javascript - 使用 jQuery 在滚动时捕捉到 div

javascript - 如何检测类(class)位置并应用风格

javascript - Jquery 菜单,单击时可切换类以一次展开一个列表级别

javascript - 如何在单击按钮时显示实时聊天对话框?

jquery - 我应该为 jquery 中的反向 $(window).scroll 函数编写什么代码以向上滚动?

javascript - Dojo:构建自定义配置

javascript - jQuery 在动画和颜色变化之间暂停

javascript - Bootstrap 4 - 当我点击其中的选项卡时下拉消失

css - 如何在避免 !important 的同时使用全局 styles.css 覆盖 Angular Material 样式?

javascript - 单击 DIV 时专注于输入