Javascript (jQuery) отключает прокрутку страницы при перетаскивании элементов - PullRequest
6 голосов
/ 07 февраля 2012

У меня есть похожая на виджет система с виджетами, которые можно перетаскивать (с помощью 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>

Есть ли способ отключить прокрутку page_wrapper?

Ответы [ 2 ]

4 голосов
/ 07 февраля 2012

Попробуйте добавить overflow:hidden; в css для page_wrapper.

0 голосов
/ 09 апреля 2019

просто добавьте свойство css "position as static" в родительский div, для которого вы устанавливаете полосу прокрутки.

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

ex.

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

        }       
}); 

здесь в ex.splitSentencesDiv - это мой Div, для которого я установил прокрутку.по умолчанию его значение положения относительно установлено классом начальной загрузки.

...