我有兩個列表 - 第一個包含用戶可以選擇的項目列表,他通過將它們拖到第二個列表中選擇它們。我用jQuery UI Sortable實現了這一點,並在jsfiddle上創建了一個基本示例。JQuery排序不會溢出列表項
因此,將項目從第一個列表拖到第二個列表 - 確定。如果向下滾動到第二個列表的底部,則會出現問題 - 您無法將項目從第一個列表拖到第二個列表。看起來超出可見列表末尾溢出的所有列表項目都沒有與它們關聯的放置目標。在另一個方向上覆制時也是如此。由於排序似乎是針對列表,我懷疑我錯過了一個竅門。有任何想法嗎?
的的jsfiddle示例代碼是:
HTML
<div class="listDiv">
<ul id="list1" class="connected ui-sortable">
<li id="a">a</li>
<li id="b">b</li>
<li id="c">c</li>
<li id="d">d</li>
<li id="e">e</li>
<li id="f">f</li>
<li id="g">g</li>
<li id="h">h</li>
<li id="i">i</li>
<li id="j">j</li>
</ul>
</div>
<div class="listDiv">
<ul id="list1" class="connected ui-sortable">
<li id="1">1</li>
<li id="2">2</li>
<li id="3">3</li>
<li id="4">4</li>
<li id="5">5</li>
<li id="6">6</li>
<li id="7">7</li>
<li id="8">8</li>
<li id="9">9</li>
<li id="10">10</li>
<li id="11">11</li>
<li id="12">12</li>
<li id="13">13</li>
<li id="14">14</li>
<li id="15">15</li>
</ul>
</div>
JS
$(function() {
$("#list1, #list2").sortable({
connectWith: ".connected"
}).disableSelection();
});
CSS
.listDiv {
overflow:auto;
float: left;
width:400px;
border: 1px solid #999;
}
#list1, #list2 {
list-style-type: none;
height: 200px;
}
#list1 li, #list2 li {
font-size: 11px;
margin: 0 5px 5px;
padding: 5px;
width: 300px;
border: 1px solid #C5DBEC;
font-family: Verdana,Arial,Helvetica,sans-serif;
font-weight: bold;
outline: medium none;
}
看起來像處理此問題的實際jquery ui錯誤是http://bugs.jqueryui.com/ticket/7065,並且計劃修復2.0.0版。 – halm