2012-04-28 19 views
6

我嘗試在html5上爲移動設備上的接口工作。 我試着按照touchstart/touchmove/touchend/touchcancel的方法進行練習。 但是當我嘗試跟隨解放運動我八方通quikly有非盟touchcancel「並沒有更多的touchmove然後......html5/android touchcancel

當我試試這個:http://miniapps.co.uk/code/touchcancel/ 它很好地工作,我沒有任何問題。

但我認爲問題來自網絡瀏覽器的干擾我的畫布的磨合。 你知道我可以解決這個問題嗎?

//我試圖解釋更多: - 這是我的測試代碼:http://frys.free.fr/mNaissance/test.html 它的「拼圖」拼圖代碼,我試圖使與移動合作。 我有一個「日誌」div hunder的文字。 當我在灰色的畫布上「touchmove」時,我已經非常快速地'touchcancel',並且不再'touchmove' 更清晰嗎?對不起我可憐的英語!

感謝您的幫助

+0

我不知道你在說什麼。請更精確。可能添加的代碼不起作用,或者更多的例子解釋你試過的東西 – Entreco 2012-04-28 22:18:54

+0

我剛剛遇到了一些我認爲是同樣的問題:問題是「Android瀏覽器有時會觸發touchcancel事件,原因不明顯,爲什麼? //相同的代碼在iOS設備上運行的很好 – Corkscreewe 2012-09-05 09:16:11

+0

您的鏈接無法正常工作,但是這個問題可能有一些線索:http://stackoverflow.com/questions/15944197/ – 2013-07-18 16:41:29

回答

7

我相信我找到了這樣做的原因 - Android瀏覽器(以及Android版Chrome 4.0以上版本),相信您要滾動,所以它觸發了touchcancel事件。你應該做的是

event.preventDefault(); 

你正在捕獲touchmove事件。

+2

我的情況是相關的,但是使用它沒有幫幫我。對於那些可能與OP有關的問題,請參閱以下問題:http://stackoverflow.com/questions/15944197/ – 2013-07-18 16:43:00

+0

此解決方案現在也適用於桌面版Chrome,原因相同。 – thure 2014-03-18 21:47:06

+1

這與Android瀏覽器無關,這是設計的原因,因爲瀏覽器必須在所有情況下自動接管平移和縮放等操作。因此,瀏覽器在接管touchmove時會觸發'touchcancel'事​​件。事件,以防止對同一事件執行2個不同的動作(這會產生可怕的結果) – andreszs 2017-10-06 03:04:51

相關問題