如何在使用子元素滚动条时禁用可拖动的div

时间:2010-07-22 19:36:01

标签: jquery scrollbar draggable

我有一个带有侧滚动条的jQuery可拖动容器div,当我上下滚动时,它不应该是可拖动的。 .infotext是具有文本的内部div,包含在#infobody中,设置为overflow: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 个答案:

答案 0 :(得分:2)

此问题的解决方法(因为某些原因,最近没有人回答我的问题)是用jQuery滚动条(称为jScrollPane)替换默认浏览器滚动条。这样做可以让我使用插入的滚动条ID作为选择器来禁用可拖动......如此:

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

});