我有一个页面,其中有一个可排序的项目列表(一个带有“可排序”类的div),它最初可能包含一些项目或为空。这些项目位于页面上的另一个列表中,并有一个“添加”按钮。单击添加后,它们将进入可排序列表。
当页面加载列表中的某些项目时,排序有效,但随后添加到列表中的项目不可排序,即当我点击其可拖动元素时没有任何反应。
这是相关的javascript:最初我用setSortables只在页面加载时调用它,但是每次将项目移动到可排序列表时我都会再次调用它。
//move this item into the sortable list
function addAssetToQuestion(asset_id){
asset_div = jQuery("#asset_"+asset_id);
asset_div.slideUp("fast", function(){
jQuery("#assets").append(asset_div);
asset_div.find(".add-asset-button").hide();
asset_div.find(".remove-asset-button").show();
asset_div.find(".name").addClass("pointerhand");
asset_div.slideDown("fast");
setSortables();
});
}
//set up the sortable list
function setSortables(){
$(".sortable").sortable({
handle: '.name',
start: function() { jQuery(".audioplayer-container").hide(); },
stop: function() { jQuery(".audioplayer-container").show(); }
});
}
jQuery(document).ready(function(){
setSortables();
});
谢谢,最大
答案 0 :(得分:0)
你试过调用刷新吗? http://docs.jquery.com/UI/Sortable#method-refresh
否则,乍一看我可能建议作为临时修复来调用destroy()然后每次在列表中删除项目时调用setSortables()...