Jquery ui jQuery用户界面可选择和滚动条

Jquery ui jQuery用户界面可选择和滚动条,jquery-ui,scrollbar,selectable,jquery-ui-selectable,Jquery Ui,Scrollbar,Selectable,Jquery Ui Selectable,我有一个里面有div的div。外部有overflow-y:auto,因此对于许多内部项目,右滚动条会出现。执行$(“#容器”)后。可选()当我在滚动条上按鼠标左键时,它不会滚动,但会显示一个用于选择的虚线框 我找到了这个解决方案: 不幸的是,它对我不起作用,因为当我滚动到底部时,这些项目就不再是可选的了。(尽管排名靠前的仍在继续)。所以,问题是:如何使滚动条。。。嗯。。。一个滚动条,没有将容器分成两个分区。好吧,这似乎是所有浏览器的问题:当您单击滚动条时,会触发一个鼠标事件。这是真正的问题,jQ

我有一个里面有div的div。外部有
overflow-y:auto,因此对于许多内部项目,右滚动条会出现。执行
$(“#容器”)后。可选()当我在滚动条上按鼠标左键时,它不会滚动,但会显示一个用于选择的虚线框

我找到了这个解决方案:


不幸的是,它对我不起作用,因为当我滚动到底部时,这些项目就不再是可选的了。(尽管排名靠前的仍在继续)。所以,问题是:如何使滚动条。。。嗯。。。一个滚动条,没有将容器分成两个分区。

好吧,这似乎是所有浏览器的问题:当您单击滚动条时,会触发一个鼠标事件。这是真正的问题,jQueryUI无法解决它。让我们在jQueryUI.js文件中自己修复它(不应用于min版本,因为它应该在AFAIK中进行模糊处理)

添加此条件

if (event.pageX > $(event.target)[0].clientWidth + $(event.target).offset().left)
    return;
就在那之后

_mouseDown: function(event) {

我见过很多使用
HasScrollbar()
检测器的黑客行为,但我不明白为什么他们不把客户端宽度(即没有滚动条)和偏移量加起来,使其相对于文档并与pageX进行比较。对我来说,它工作得很好。

为此使用包装器div,它对我来说工作得很好。

可选包装{边框半径:5px;最小高度:200px;最大高度:200px;溢出-y:自动;边框:1px实心#D1D1D1;}
.可选{列表样式类型:无;填充:5px;}