我試圖建立一個網頁,感知來自用戶的觸摸和拖動和畫布上的對象。Android瀏覽器:touchcancel被觸發儘管touchmove已阻止默認
所以我在做這樣的事情:
var touchStart = function(e) {
e.preventDefault();
// Do stuff
}
var touchMove = function(e) {
e.preventDefault();
console.log("Touch move");
// Move objs
}
var touchEnd = function(e) {
e.preventDefault();
console.log("Touch start!");
// clean up stuff
}
var touchCancel = function(e) {
e.preventDefault();
// Oh NO touch cancel!
console.log("Touch cancel!");
}
bindElemOrig.addEventListener('touchstart', touchStart, false);
bindElemOrig.addEventListener('touchmove', touchStart, false);
bindElemOrig.addEventListener('touchend', touchStart, false);
bindElemOrig.addEventListener('touchcancel', touchStart, false);
它正常工作,直到某一點。
的問題是,當我加載了太多OBJ文件,在我看來,該touchmove時間過長迴應,並touchcancel被觸發。問題是,touchcancel被觸發,我不再收到任何更多touchmove的事件,我不能再感覺到運動了。
有沒有人遇到過這個問題?我知道Android中的錯誤,您必須致電preventDefault(touchend event in ios webkit not firing?),但在這種情況下,由於存儲器負擔似乎不起作用。
謝謝!
我在Android 2.3上遇到同樣的問題。 Android 4+似乎沒問題。你有沒有發現這個話題? – dioslaska 2013-06-20 12:18:43
@dioslaska shim @ https:// github。com/TNT-RoX/android-swipe-shim – 2014-08-06 08:37:15
爲了將來的參考,這裏的答案完美的作品:http://stackoverflow.com/questions/10367854/html5-android-touchcancel – 2015-07-24 20:26:40