2011-12-14 25 views
8

Tôi có hai danh sách yếu tố và tôi đã bật jQuery UI có thể sắp xếp trên cả hai. Tôi đã sử dụng tùy chọn connectWith để cho phép tôi kéo giữa hai danh sách.Giao diện người dùng jQuery Sắp xếp: Cuộn toàn bộ trang cũng như vùng chứa

Một danh sách có nhiều thành phần trong đó, vì vậy tôi đã thêm overflow-y: scroll vào nó, nhưng khi tôi cố lấy phần tử từ danh sách đó và kéo nó sang danh sách khác, nó chỉ cuộn danh sách chứ không phải toàn bộ trang.

Tôi đã tạo bản trình diễn jsFiddle (http://jsfiddle.net/MCcuc/). Cuộn xuống và cố gắng di chuyển Item Q (kéo thanh màu xám trên đầu hộp) từ danh sách màu đỏ vào danh sách màu lục. Bạn sẽ thấy các cuộn danh sách màu đỏ, nhưng trang thì không. Làm thế nào tôi có thể cuộn toàn bộ trang cũng như danh sách?

Tôi chỉ cho phép sortable mà không nhiều lựa chọn:

$('.sort').sortable({ 
    connectWith: '.sort', 
    handle: '.handle' 
}); 
+1

Tôi nghĩ rằng điều này có liên quan đến danh sách thứ hai có thể cuộn được. Lưu ý rằng nếu bạn bắt đầu và kéo ra khỏi danh sách đầu tiên vào danh sách thứ hai, nó sẽ cuộn trang như bạn muốn. –

Trả lời

12

Đó là thực sự là một cuộc xung đột với tràn cuộn. Phần tử helper có thể kéo được ràng buộc với phần tử cha của nó trong trường hợp đó, có thể là do cố gắng "thoát ra", cha mẹ chỉ dẫn đến việc mở rộng vùng cuộn của nó.

Giải pháp thay thế là chuyển một hàm helper sao chép phần tử đã kéo và sửa nó dưới phần nội dung trang. Bằng cách này, các yếu tố helper kéo sẽ là bên ngoài của công ty mẹ ban đầu của nó ngay từ đầu, và do đó sẽ di chuyển toàn bộ trang:

$(".sort").sortable({ 
    connectWith: ".sort", 
    handle: ".handle", 
    helper: function(event, element) { 
     return element.clone().appendTo("body"); 
    } 
}); 

Bạn sẽ tìm thấy một fiddle cập nhật chứng minh here này.

+0

Tuyệt, điều này dường như hoạt động. Tôi đã tìm thấy một lỗi lạ. Nếu bạn cố gắng kéo đến cuối danh sách xanh lục, nó sẽ nhảy trở lại vào danh sách màu đỏ. Nếu bạn thả nó ở bất cứ nơi nào khác, nó hoạt động. –

+1

Thật vậy. Rõ ràng là hai loại có thể cạnh tranh được mục tiêu thả, và khoảng cách đến người trợ giúp trông giống như người quyết định. –

Các vấn đề liên quan