Jquery ui 在jQueryUI可排序元素上拖动而不滚动
如果我有一个具有可排序元素的固定高度div,并且如果我将其拖动到下面的列表中,该div将滚动。我想我可以设置overflow:hidden,它隐藏滚动条,但仍然滚动div 用这把小提琴更容易描述: 如果我尝试将A1拖到B1下,div将滚动,这可能会让用户感到沮丧。我该如何防止这种行为Jquery ui 在jQueryUI可排序元素上拖动而不滚动,jquery-ui,jquery-ui-sortable,Jquery Ui,Jquery Ui Sortable,如果我有一个具有可排序元素的固定高度div,并且如果我将其拖动到下面的列表中,该div将滚动。我想我可以设置overflow:hidden,它隐藏滚动条,但仍然滚动div 用这把小提琴更容易描述: 如果我尝试将A1拖到B1下,div将滚动,这可能会让用户感到沮丧。我该如何防止这种行为 <div id="items"> <ul class="sort"> <li>Item A1</li> <li>I
<div id="items">
<ul class="sort">
<li>Item A1</li>
<li>Item A2</li>
<li>Item A3</li>
<li>Item A4</li>
<li>Item A5</li>
<li>Item A6</li>
<li>Item A7</li>
<li>Item A8</li>
<li>Item A9</li>
<li>Item A10</li>
</ul>
</div>
<ul class="sort">
<li>Item B1</li>
<li>Item B2</li>
<li>Item B3</li>
<li>Item B4</li>
<li>Item B5</li>
</ul>
<script>
$(function() {
$('.sort').sortable({
connectWith: '.sort',
start: function() {
$('#items').css({
overflow: 'hidden'
});
},
stop: function() {
$('#items').css({
overflow: 'auto'
});
}
});
});
</script>
- 项目A1
- 项目A2
- 项目A3
- 项目A4
- 项目A5
- 项目A6
- 项目A7
- 项目A8
- 项目A9
- 项目A10
- 项目B1
- 项目B2
- 项目B3
- 项目B4
- 项目B5
$(函数(){
$('.sort')。可排序({
连接方式:'.sort',
开始:函数(){
$('#items').css({
溢出:“隐藏”
});
},
停止:函数(){
$('#items').css({
溢出:“自动”
});
}
});
});
好吧,不知何故,我忽略了显而易见的“滚动”选项
我只需要将scroll设置为false
您是否需要
#项。排序
以进行排序,或者它只是将要到其他列表的可拖动内容的来源?是的,在我的情况下也需要进行排序,这是可以的,但我在使用滚动选项时发现了很多错误,这会导致其他连接的列表无法正常工作。甚至小提琴似乎也不能正常工作。例如,如果您尝试将A1拖动到B1下方。我一定是忽略了这一点。无论哪种方式,scroll都可以依赖于buggy。@ActionOwl:我在JSFIDLE中查看了您的示例。垂直滚动条完全消失了。但是,当我尝试拖动元素时,仍然可以看到屏幕底部的水平滚动条。如何在不将容器(页面本身)的“溢出”属性设置为隐藏的情况下删除该属性?@Ishita,您可以将列表包装在容器中,并使用“包含”选项防止元素被拖动,从而获得水平滚动条。这是小提琴。