从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 - 可排序:在可排序元素中按图标“句柄”拖动
添加拖动功能以使用CLNDR.js从日历中选择多个(范围)日期