【问题标题】:How do I prevent jQuery dragging from scrolling?如何防止 jQuery 拖动滚动?
【发布时间】:2017-02-24 01:33:07
【问题描述】:

当从div1 拖动到div2 时,我有两个divdiv1 滚动条将出现并一直延伸到我将元素拖动到div2 上。当我将元素拖到里面时,如何防止div 延伸?整个我拖动的元素不会中断?

<div class="container-fluid">
  <div class="row">
    <div class="col-md-2 hidden-sm hidden-xs">
      <div id='external-events'>
        <h4>Draggable Events</h4>
        <div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">some event</div>
        <div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">some event</div>
        <div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">some event</div>
        <div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">some event</div>
        <div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">some event</div>
      </div>
    </div>
    <div class="col-md-5 col-sm-12 col-xs-12">
      <hr>
      <div id="calendar"></div>
      //drop event here
    </div>
</div>

拖动面板 CSS 和大小

#external-events {
  float: left;
  max-width: 260px;
  width: 260px;
  padding: 0 10px;
  border: 1px solid #ccc;
  background: #eee;
  text-align: left;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 400px;
  margin-left: -10px;
}

拖动后

拖后应该是这样的

【问题讨论】:

  • 我不太确定你在问什么,但是如果你想让一个 div 没有滚动条,你可以使用 overflow: hidden;overflow: hidden;CSS 购买来实现这一点
  • 我添加了图片。希望你能理解

标签: javascript jquery css draggable


【解决方案1】:

尝试删除 overflow-y: auto添加 overflow: hidden 到您的#external-events

编辑

来自 Stack Overflow 的This answer 可能有助于阐明如何在使用draggable 元素时防止 jQuery 滚动页面。如果没有工作示例,我不能 100% 确定这就是您在谈论的内容,但希望它被证明是有帮助的。

编辑 2

在您发布的图片中,它看起来像是在滚动x-axis 上的溢出。这意味着您需要将 overflow-x: hidden 添加到 #externalevents 样式中。您可以在代码中保留overflow-y: auto

【讨论】:

  • 我想要一个 y 轴的滚动条。设置为溢出:隐藏不会阻止 div 滚动
  • 你能提供一个关于 CodePen 或 JSFiddle 的工作示例吗?
  • 我添加了图片。我尝试添加到 jsfiddle,但它不起作用。如果我里面有太多项目,删除 over-flow-y 将导致元素扩展页面。所以我只想将它们保留在 div 中
  • @MVCnewbie 查看我的更新答案。从您的屏幕截图看来,它只是在x-axis 上溢出,所以希望我的回答对您有所帮助。如果仅将其应用于 #externalevents 不起作用,请尝试将其应用于父类之一,例如 .col-md-2
  • 嗨,马修,感谢您的帮助。将其设置为可见不会阻止元素拖动。它只是隐藏滚动条。我想要的是完全禁用 X 轴的滚动
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多