从jQuery可拖动的句柄中排除项目

Posted

技术标签:

【中文标题】从jQuery可拖动的句柄中排除项目【英文标题】:Exclude item from handle on jQuery draggable 【发布时间】:2010-11-30 13:42:35 【问题描述】:

我有一个可拖动的<div>,其中overflow 设置为auto,以便在内容太宽时显示滚动条。

我希望<div> 的全部内容都是可拖动的,所以我没有添加句柄。现在当我尝试拖动滚动条时,整个<div> 被拖动而不是滚动内容。

有没有办法从 jQuery 中可拖动的<div> 的句柄中排除元素?

我需要类似的东西:

$("#element").draggable(
    handle: "not(#thisTable)"
)

有没有办法使用选择器或类似的东西来做到这一点?

【问题讨论】:

【参考方案1】:

tnx 为您解答,但我找到了我认为更好的解决方案....

还有另一个可拖动选项,称为 'cancel',它从可拖动元素的句柄中排除所选元素...

$('#container').draggable('option', 'cancel', '#excludedElement');

希望这对其他人有所帮助...

【讨论】:

如果你有多个元素要从拖动中排除,你需要这样做: $('#container').draggable('option', 'cancel', '#excludedElement, excludeEle2, .excludedEle3' ); 你也可以在初始化可拖动对象时立即使用它: $("#container").draggable( handle: '.title-row', cancel: '.title-row .icon ' );【参考方案2】:

在您的 div 中添加一个 div,宽度和高度为 100%,无边距,无内边距,并将您的内容放在那里。将其溢出设置为默认值并将其设置为句柄。这样,父 div 的滚动条将不再在句柄中,因此不会启动拖动。

【讨论】:

以上是关于从jQuery可拖动的句柄中排除项目的主要内容,如果未能解决你的问题,请参考以下文章

Jquery ui - 可排序:在可排序元素中按图标“句柄”拖动

IFrame 中的 jQuery 可拖动处理程序

添加拖动功能以使用CLNDR.js从日历中选择多个(范围)日期

可在 Slick-slider 中拖动的 jQuery UI

Excel拖动句柄自动填充给出错误值(来自缓存/内存)

iOS 抓取器拖动句柄是 UIKit 组件吗?