как отключить перетаскиваемый div при использовании полосы прокрутки дочернего элемента - PullRequest
2 голосов
/ 22 июля 2010

У меня есть jQuery перетаскиваемый контейнерный контейнер с боковой полосой прокрутки, который не должен перетаскиваться при прокрутке вверх и вниз. .infotext - это внутренний div, содержащий текст, содержащийся в #infobody, для которого установлено переполнение: auto. Мне нужен способ отменить перетаскиваемую функцию в родительском div, когда выбрана дочерняя полоса прокрутки. Вот мой код:

$(".lsidebar").draggable({"scroll":false});

 .lsidebar #infobody{
cursor:default;
position:absolute;
width:100%;
overflow:auto;
margin:23px 0 0 0;
z-index:14;
}

   #infobody .infotext{
cursor:default;
position:relative;
width:100%;
z-index:14;
color:#969696;
}

1 Ответ

2 голосов
/ 27 июля 2010

Обходной путь к этой проблеме (потому что по какой-то причине никто не отвечает на мои вопросы в последнее время) заключался в замене полосы прокрутки браузера по умолчанию на полосу прокрутки jQuery, известную как jScrollPane. Это позволяет мне использовать вставленный идентификатор полосы прокрутки в качестве селектора, чтобы отключить перетаскивание ... вот так:

$('.jScrollPaneDrag').live('mousedown mouseup', function(e){
  if(e.type=='mousedown'){
      $('.lsidebar').draggable({disable: true});
  }else{
     $('.lsidebar').draggable({"scroll":false});
  };

});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...