我正在製作一個使用JavaScript觸摸事件的移動網站。事情在iOS Safari和Android版Chrome中運行良好,但股票Android瀏覽器(版本4.1.2)給我帶來了麻煩。在Android瀏覽器中禁用touchcancel的觸發
在觸摸過程中,按預期調用touchstart
和touchmove
事件。然而,由touchmove
處理程序執行的操作之一似乎觸發了一個過早的touchcancel
事件。 (我不確定這是否顯着,但觸發touchcancel
的操作是修改了SVG對象的viewBox
屬性。)如果我註釋掉此操作,則觸摸過程將正常進行(即完成touchmove
到touchend
)。
我所有的觸摸處理程序都調用preventDefault()
函數,所以問題不在於此bug中描述的問題:https://code.google.com/p/android/issues/detail?id=19827。
我讀過關於調用touchcancel
時有很多inconsistency among browsers。股票Android瀏覽器是唯一對我有問題的。
那裏有解決方法嗎?例如,在那裏我可以完全禁用touchcancel
事件?我的另一個想法是讓touchcancel
處理程序以編程方式觸發另一個事件,但我並沒有太多瞭解。任何想法,將不勝感激。
唉!我認爲這個問題現在已經遷移到Chrome瀏覽器!它出現在第28版中。請參閱https://code.google.com/p/chromium/issues/detail?id=260732。 –
另請參閱此帖,這似乎是相關的:http://stackoverflow.com/questions/15944197/android-browser-touchcancel-being-fired-althought-touchmove-has-preventdefault –
我遇到這個問題在Chrome瀏覽器現在,干擾使用Hammer.js。任何人都知道如何解決這個問題? – acjay