2010-05-20 55 views
16

我有一個用了jQuery UI頁面;特別是Sortable的互動。我怎樣才能讓jQuery UI的Draggable和Sortable函數在iPhone上工作?

該頁面適用於帶有鼠標的桌面Web瀏覽器,但是我無法獲得在iPhone上的移動Safari上的拖放功能。任何拖動動作只是滾動頁面。

我的頁面上的功能與JQuery UI站點上的Sortable Empty-Lists演示非常相似。此頁面也不適用於iPhone。

有沒有辦法讓iPhone上的拖放功能工作?

回答

24

根據Mobile Safari文檔拖放不支持,但它可以被模擬。由於基本上拖動手指將滾動瀏覽器,因此您必須禁用此選項。這是可以做到這樣的:

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

否則,你將不得不處理事件是touchstarttouchmovetouchend

+0

謝謝你的Jakub,你有沒有給移動Safari文檔的參考? – Damovisa 2010-05-20 01:12:35

+5

http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW1及其附近。 – 2010-05-20 01:15:46

+0

太棒了,謝謝! – Damovisa 2010-05-20 01:16:28

1

這是jQuery UI的1.9pre的演示: https://dl.dropbox.com/u/3872624/lab/touch/index.html

的jquery.mouse.ui.js文件是爲我工作的偉大。

+0

使用1.9與jquery.mouse.ui.js是門票,這樣的感謝!使用1.8似乎起初工作,但可排序和可拖動有點怪癖,使其無法使用。 – phatmann 2011-10-02 21:42:16

+0

不幸的是,如果您嘗試使用「可排序」中的「處理」選項,則這不起作用。拖動一個項目後,任何進一步的拖動其他項目的嘗試最終都會拖動第一個項目。我正在研究這個問題。這也被提到[這裏](http://stackoverflow.com/questions/6745098/jquery-ui-sortable-doesnt-work-on-touch-devices-based-on-android-or-ios/6795028#6795028) 。 – phatmann 2011-10-07 18:06:15

+0

上面的鏈接被打破:( – Chris 2012-06-14 00:31:25

相關問題