2010-05-20 22 views
16

Tôi có một trang sử dụng giao diện người dùng JQuery; đặc biệt là sự tương tác Sortable.Làm cách nào để tôi có thể sử dụng các chức năng Draggable và Sortable của jQuery UI để hoạt động trên iPhone?

Trang hoạt động tốt cho trình duyệt web trên máy tính để bàn với chuột, tuy nhiên tôi không thể lấy chức năng kéo thả để hoạt động trên Mobile Safari trên iPhone. Bất kỳ thao tác kéo nào chỉ đơn giản là cuộn trang.

Chức năng trên trang của tôi cực kỳ giống với bản trình diễn Sortable Empty-Lists trên trang web giao diện người dùng JQuery. Trang này cũng không hoạt động trên iPhone.

Có cách nào để các chức năng kéo thả hoạt động trên iPhone không?

Trả lời

24

Theo tính năng kéo và thả tài liệu trên Mobile Safari không được hỗ trợ, nhưng nó có thể được mô phỏng. Vì về cơ bản kéo ngón tay của bạn dọc theo sẽ di chuyển trình duyệt, bạn sẽ phải vô hiệu hóa điều này. Điều đó có thể được thực hiện như thế này:

$(document).bind('touchmove', function(e) { 
    e.preventDefault(); 
}, false); 

Nếu trường hợp bạn sẽ phải xử lý là touchstart, touchmovetouchend.

+0

Cảm ơn Jakub, Bạn có tham chiếu đến tài liệu Mobile Safari không? – Damovisa

+5

http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW1 và xung quanh đó. –

+0

Tuyệt vời, cảm ơn! – Damovisa

1

Đây là một bản demo của jquery ui 1.9pre: https://dl.dropbox.com/u/3872624/lab/touch/index.html

Các jquery.mouse.ui.js tập tin đang làm việc rất tốt cho tôi.

+0

Sử dụng 1,9 với jquery.mouse.ui.js là vé, vì vậy cảm ơn! Sử dụng 1.8 dường như làm việc lúc đầu tiên, nhưng có thể sắp xếp và có thể kéo được có ít tính năng khiến nó không sử dụng được. – phatmann

+0

Thật không may điều này không hoạt động chính xác nếu bạn cố gắng sử dụng tùy chọn "xử lý" trong Sắp xếp. Sau khi kéo một mục, bất kỳ nỗ lực nào khác để kéo các mục khác chỉ cần kéo mục đầu tiên. Tôi đang xem xét vấn đề. Điều này cũng được đề cập [ở đây] (http://stackoverflow.com/questions/6745098/jquery-ui-sortable-doesnt-work-on-touch-devices-based-on-android-or-ios/6795028#6795028) . – phatmann

+0

Liên kết ở trên bị hỏng: ( – Chris

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