Tôi tìm thấy trong Safari (có thể khác) t các lớp học của anh ấy không đáng tin cậy. 'ui-sortable' vẫn còn trên bất kỳ mục nào đã được thực hiện có thể sắp xếp ngay cả khi bạn vô hiệu hóa nó, điều này dẫn đến việc sử dụng cả hai loại 'ui-sortable ui-sortable-disabled'.
Tôi thấy mình tự thêm và xóa các lớp học chỉ để đảm bảo chúng giống như tôi mong đợi.
if ($(this).hasClass("ui-sortable")) {
$(this).removeClass("ui-sortable");
$(this).sortable({ disabled: true });
}
else {
$(this).addClass("ui-sortable");
$(this).sortable({ disabled: false });
}
- EDIT
Ok, vì vậy các lớp học là đáng tin cậy nhưng những gì tôi là sau khi không phải là người khuyết tật mà là .sortable ("phá hủy") trả về các yếu tố để nó nhà nước trước khi khởi động (ví dụ: loại bỏ tất cả các lớp trợ giúp).
Vì vậy, cho chuyển đổi sắp xếp được tôi (đó là những gì tôi đã tạo ra):
if ($(this).hasClass("ui-sortable")) $(this).sortable("destroy");
else $(this).sortable();
Bản sao có thể có của [Tìm các thành phần có tiện ích con được khởi chạy trên chúng] (http://stackoverflow.com/questions/11251765/find- các phần tử-mà-có-jquery-widgets-được khởi tạo-khi-chúng). Chỉ cần sử dụng 'data (" sortable ")' thay vì 'data (" fileupload ")'. –