拖动项目时,Javascript(jQuery)禁用页面滚动

问题描述 投票:6回答:2

我有一个类似于小部件的系统,其中的小部件可以被拖动(使用jQuery draggable / sortable)。现在的问题是,当用户拖动其中一个小部件并将光标移动到边缘时,父div将滚动到光标的方向。

简化的布局如下:

<div id="wrapper" style="width:WINDOW_WIDTH;">
  <div id="page_wrapper" style="width:10000px;">
    <div class="widget_page" style="width:WINDOW_WIDTH;">
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
    </div>        
    <div class="widget_page" style="width:WINDOW_WIDTH;">
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
    </div>
  </div>
</div>

有没有什么办法可以禁止页面滚动?

javascript jquery draggable jquery-ui-sortable
2个回答
4
投票

尝试在page_wrapper的css中添加overflow:hidden;


0
投票

只需在为您设置滚动条的父div上添加css属性“position as an static”。

$("selector").css("position","static");

恩。

$('.bottomSentences').draggable({
    cursor: 'move',
    helper: 'clone',
        start: function(e, ui)
        {
            $(ui.helper).addClass("ui-draggable-helper");
            $("#splitSentencesDiv").css("position","static");

        }       
}); 

在前面。 splitSentencesDiv是我为其设置滚动的Div。默认情况下,其位置值由bootstrap col- class相对设置。

© www.soinside.com 2019 - 2024. All rights reserved.