我想禁用source_element的排序。我可以这样做吗?
function dropMembers(){
$("ul.present").sortable({
connectWith: 'ul',
containment: 'window',
items: 'li:not(.notSortable)'
});
$("ul.usrlist").sortable({
connectWith: 'ul',
dropOnEmpty: true,
containment: 'window',
update: function(event, ui) {
//Element ready to be dropped to new place
source_element = $(ui.item).attr("id");
alert(source_element);
source_element1=source_element.split('_');
alert(source_element1);
if(source_element[1]==GLOBAL_MY_ID){
// I want to disable sorting of source_element here
}
// here is your selected item }
}
// sort: function(event, ui) {
// var usr_result=$("ul.usr").sortable('toArray');
// //alert(ui.sortable);
// }
});
$("#MAIN_USER_LIST,#USER_PRESENT_LIST").disableSelection();
}
答案 0 :(得分:7)
在您的示例中,我的主要答案代码是禁用排序,请使用
$(ui.sender).sortable( '取消');
但我认为,对于禁用移动更好的方法是阻止开始事件中的移动并将其禁用为:
$(本).sortable( '取消');
P.S。:您使用我的代码创建了新问题而没有标记我接受的答案。不明白你的行为..
答案 1 :(得分:1)
在这个问题上有一段时间......
$(ui.sender).sortable('cancel')
似乎恢复到之前的位置,但让它可以排序..
要删除排序(并允许再次编辑),我使用了以下代码:
$('.sortable').sortable('disable');
$('.sortable').disableSelection('disabled');
$('.sortable').unbind('click');
$('.sortable').unbind('mousedown');
$('.sortable').unbind('mouseup');
$('.sortable').unbind('selectstart');
将.sortable更改为元素的指示符。我是按类进行多次的。这些是我发现的排序例程创建的4个事件。您可以通过原始命令重新激活排序。
非常方便,嗯?