目前为我的网站创建拖放播放列表功能,并使用以下代码将视频拖放到播放列表容器中:
var transferred = false;
$( "#videoResultsDiv li" ).draggable({
connectToSortable: '#Playlist',
helper: 'clone',
start: function(event, ui)
{
$(this).hide();
},
stop: function(event, ui)
{
if(!transferred)
$(this).show();
else
{
$(this).remove();
transferred = false;
}
}
});
$("#Playlist").droppable({
tolerance: 'touch',
drop:function(event, ui) {
ui.draggable.appendTo($(this));
$(this).sortable({
tolerance: 'pointer',
receive: function (event, ui) {
transferred = true;
}});
}});
这适用于Playlist
容器中的大多数视频,但第一个要放入容器的视频会带来videoResultsDiv
的样式和功能,从而导致各种错误,包括重复。我尝试了var transferred
的各种排列,将connectToSortable
更改为appendTo
(我发现的当前配置只允许我将视频从videoResultsDiv
拖入外部Playlist
容器),并删除ui.helper
克隆,但都会导致某些问题或其他问题。
答案 0 :(得分:1)
答案是摆脱可放置的代码,按照这个jsfiddle:http://jsfiddle.net/xD2dW/12/
$('#sortable').sortable({
receive: function(event, ui)
{
transferred = true;
}
});