В jquery перетаскиваемое модальное окно, как предотвратить перетаскивание, когда прокрутка сделана на столе в пределах перетаскиваемого - PullRequest
0 голосов
/ 25 августа 2011

У меня есть модальное окно jquery, которое можно перетаскивать.Внутри окна есть таблица, в которой для overflow-y установлено значение true.Когда я прокручиваю таблицу, окно перетаскивается - как мне предотвратить перетаскивание при операции прокрутки.Это пример кода.

 <div id="container">
<table style="overflow-y:auto;"> </table>
</div>

$('#container').draggable();

При событии прокрутки таблицы Как предотвратить перетаскивание окна?Может кто-нибудь, пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 26 июня 2017

Использовать отменить свойство из jQuery UI, перетаскиваемый :

<div id="container">
    <table style="overflow-y:auto;" id="tableID"> </table>
</div>

$(".container").draggable({
    cancel : ".tableID"
});
0 голосов
/ 25 августа 2011

Используйте диалоговое окно jQueryUI. У меня есть прокручиваемый контент в моих диалогах, и он прекрасно работает.

http://jqueryui.com/demos/dialog/

редактировать

однако, возможно, это потому, что вы проверяете наличие мыши в любом месте диалогового окна, которое затем запускает движение.

Вы захотите убедиться, что событие перетаскивания срабатывает только при названии диалога.

 <div id="container">
 <div style=""height:30px" id="title">this is the title</div>
<table style="overflow-y:auto;"> </table>
</div>

$('#title').click(function(){$('#container').draggable();})

редактировать 2

$("#container").click(
  function(){
    if ($(this).tagName == "div")
      $(this).draggable();
  }
);

Не проверено, но цель должна быть ясной

...