2012-06-14 44 views
3

我希望我的Web應用程序在使用觸摸屏的Windows設備上使用可拖動對象,但新Chrome和新MSIE 10不允許我使用開發的拖動鼠標了。所以這http://jqueryui.com/demos/draggable/適用於鼠標,但不適用於觸摸。如何使用觸摸屏在Chrome和MSIE10中的JavaScript中捕捉觸摸事件

如何在Chrome和MSIE 10中通過觸摸進行拖動操作?

+0

如果你運行'document.addEventListener( 'touchstart',函數(E){執行console.log(E)},假)'你會設備在水龍頭上打印什麼內容?如果是這樣,你可以很容易地模擬鼠標事件。 – katspaugh

+0

鉻支持touchstart和touchend但不touchmove給這個測試https://developer.mozilla.org/en/DOM/Touch_events,但有趣的是,它實際上似乎並沒有在Firefox 13中工作... 現場演示:https: //developer.mozilla.org/samples/domref/touchevents.html – Ragnar

+0

在這裏嘗試一個單獨的測試:http://jsfiddle.net/6QkB7/ – katspaugh

回答

0

如果您正在尋找「滑動」事件,請查看jQuery++ library。看看我提供的演示鏈接。

jQuery.event.swipe增加了划動動作提供可委託swipeleft,swiperight,swipedown,swipeup和刷卡事件的支持:

+0

不行,不起作用。 Firefox只支持拖動,但Chrome不支持任何拖動或滑動 – Ragnar

+0

我剛剛檢查了jQuery ++刷卡事件處理程序,它可以在Firefox 12和Windows 20和Ubuntu(鉻18)中使用鉻20。 –

+0

我終於可以用Firefox做這件事了(就像第十次滑動一樣),但我無法在Windows 7中使用觸摸屏的Chrome 19(它只是繼續移動整個頁面)做到這一點。 Windows 8上的MSIE 10也不起作用。我所做的只是簡單地觸摸綠色區域並將手指移動到某個方向並釋放,並且它不會對 – Ragnar

3

瀏覽器在Windows 7 doesn't yet support touch events

但是在Chrome 20+您可以導航到試驗性的chrome://標誌並打開「啓用觸摸事件」以獲取TouchStart/Move/End事件觸發,但似乎打破了其他行爲,如捏縮放和手指滾動。

使用此標誌禁用,TouchStart /結束的啞火由於this bug in Chrome