javascript - 如何将 JQuery UI 的可拖动和可排序与 div 元素混合在一起?

标签 javascript jquery jquery-ui drag-and-drop jquery-ui-sortable

在这个 fiddle 中,我尝试混合 JQuery UI 的 draggablesortable公用事业,问题是由于某种原因我的 <div>当我拖放元素时,元素会奇怪地移动。我认为它可能来自 display: inline-block;属性,但我无法删除它。我怎样才能摆脱这个恼人的副作用?

jsfiddle.net/Zh83n

注意:仅在 Chrome 上进行测试,因为它是我的项目必须支持的唯一浏览器。

最佳答案

如果您只是想使单个列表可排序,则 .draggable() 是多余的。查看http://jsfiddle.net/peterjmag/Zh83n/3/举个例子。

HTML

<div id="sortable">
    <div class="disp">Test1</div>
    <div class="disp">Test2</div>
    <div class="disp">Test3</div>
    <div class="disp">Test4</div>
    <div class="disp">Test5</div>
</div>

CSS

.disp {
    display: inline-block;
}

JS

$("#sortable").sortable({
    revert: true
});

/*
$(".disp").draggable({
    connectToSortable: "#sortable",
    revert: "invalid"
});
*/

(我刚刚注释掉了多余的可拖动调用以供引用。)

请注意,我的 fiddle 仍然存在一些间距问题,这确实与 display: inline-block 有关。查看以下答案,了解解决该问题的几种不同方法:https://stackoverflow.com/a/14317901/349353 .

关于javascript - 如何将 JQuery UI 的可拖动和可排序与 div 元素混合在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20375823/

相关文章:

Javascript多步表单不进入下一步

呈现所有 htm 后加载 jquery ui 选项卡

仅用于数字和英文键盘的 javascript 输入掩码

javascript - Node.js 循环和 JSON 构建

javascript - 使用 JavaScript/JQuery 应用 css 值

javascript - 如何取消订阅 RxJS 5 可观察对象?

javascript - 如何使用 js 或 jquery 或 php 在文本区域中显示格式化的 html 内容?

c# - 如何使用 jQuery 将 JSON 数据绑定(bind)到 Asp.net MVC 中的下拉列表

php - Codeigniter 中的 JQuery 自动完成编码

jQuery 对话框 UI 在 IE 中不起作用