【问题标题】:jquery drag and drop: Droppable doesnt work on elements with float:left or inline-blockjquery 拖放:Droppable 不适用于具有 float:left 或 inline-block 的元素
【发布时间】:2026-02-21 02:45:01
【问题描述】:

以前有人遇到过这个问题吗?

我似乎无法进入具有 display: inline-block 或 float:left 的 TARGET。

这里是示例代码的链接: http://jsbin.com/arusu3/141

我找到的一些信息: http://forum.jquery.com/topic/connecttosortable-fails-when-sortable-list-is-floated

我注意到如果我将它完全倒在中间,它是否可以内联工作。但是如果我的拖动的任何部分触及它,它会接受 drop 会很好。

【问题讨论】:

  • 您是否尝试了链接到的线程中的解决方案?
  • 是的,试过了,但对我的情况没有帮助。谢谢

标签: jquery droppable


【解决方案1】:

我能够放到 div-inline 上。 (使用最新的 Chrome)

也许这是一个容忍问题?

    target.droppable({
        drop: function(event, ui) {
            alert('row dropped ' + $(this).text());
        },
        accept: source.selector,
        tolerance: 'touch'
    });

http://jsbin.com/arusu3/144 : 将容差编辑为“触摸”

http://jqueryui.com/demos/droppable/#option-tolerance

【讨论】:

  • 使用tolerance: "pointer" 也可以,并允许您根据指针的位置选择放置位置
【解决方案2】:

清除你的浮动。

#your_sortable:after { clear:both; content:'.'; display:block; height:0; line-height:0; font-size:0; visibility:hidden; padding:0; margin:0; }

【讨论】:

    最近更新 更多