2012-10-14 42 views
7

thể trùng lặp:
JQuery sortable lists and fixed/locked itemsLàm thế nào để loại bỏ giao diện người dùng jQuery có thể sắp xếp từ một phần tử?

Tôi ràng buộc sắp xếp được để một yếu tố như vậy:

$('#elem').sortable({ 
    items: 'li', 
    placeholder: 'drop-highlight', 
    forcePlaceholderSize: true, 
    revert: true 
}); 

Trên một sự kiện nào đó tôi muốn không còn cho phép yếu tố này để có thể sắp xếp. Làm cách nào để bỏ liên kết?

Tất cả những bị xét xử riêng và tất cả các thất bại (tức là #elem vẫn sắp xếp được sau):

$('#elem').unbind('sort'); 
$('#elem').sortable('destroy'); 
$('#elem').sortable('option', 'sort', null); 
+1

Không chắc tại sao điều này đã được đóng cửa như là một bản sao, nó không nên. Câu hỏi này là về việc đảo ngược bất kỳ $ .fn.sortable nào thành phần tử. "Bản sao" là ngăn chặn sắp xếp một phần tử con. Hai câu hỏi khác nhau. –

Trả lời

6

Yeah, nó su ** s :-(này loại bỏ các chức năng các lớp css/tiêm nhịp sau 1 giây (phá hủy appearently chỉ giết widget, không phải là lớp học thêm hoặc thẻ)

$('#elem').sortable({ 
    items: 'li', 
    placeholder: 'drop-highlight', 
    forcePlaceholderSize: true, 
    revert: true 
}); 

nơi mã này trong một handler khi bạn cần phải "unsortable" danh sách

function() { 
    $("#elem").sortable("destroy"); //call widget-function destroy 
    $("#elem li").removeClass('ui-state-default'); 
    $("#elem li span").remove(); 
} 

$ ("# elem"). Sortable ("destroy"); không thực sự phá hủy chức năng sắp xếp, nó chỉ quên dọn dẹp.

0

Nếu bạn muốn vô hiệu hóa có thể phân loại sau đó thử này:

$("#elem").sortable("disable"); 

và cho phép trở lại

$("#elem").sortable("enable"); 
Các vấn đề liên quan