我有一个基于列表的简单jQuery可排序如下:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
我创建了一个帮助函数,以便无论项目的内容如何,该帮助程序始终具有相同的固定大小。
我的问题是,如果我拖动一个具有大量内容的项目(比如说几段文字),即使我的辅助程序只有一行高度,该项目也不会放置在下面的项目上,直到它至少移动了我的项目的原始高度。
例如:
<ul>
<li>Item 1
line2
line3
line4
line5
</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
如果我拖动item1,我的助手会将其转换为单行-非常容易拖动。然而,在item2和item3之间放置item1之前,我仍然需要将鼠标移动到屏幕下方5行。一旦我将其拖动到足够的高度,该项似乎就像我期望的那样运作,并且我不再需要将其拖动到原始高度。
我尝试了所有可排序选项,但无济于事,希望有人能提出建议。
$( '#sortable' ).sortable( {
placeholder: 'highlight',
axis: 'y',
helper: function( event ) {
return $( this ).find( '.drag' ).clone();
},
});