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

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

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

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

我需要类似的东西:

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

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

【问题讨论】:

    标签: javascript jquery jquery-ui drag-and-drop draggable


    【解决方案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 的滚动条将不再在句柄中,因此不会启动拖动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-23
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多