Ich versuche eine Webseite zu erstellen, die die Berührung des Benutzers erkennt und Objekte entlang der Zeichenfläche zieht und anzeigt.Android-Browser: touchcancel wird ausgelöst, obwohl touchmove preventDefault
So etwas wie dies ich tue:
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);
Es bis irgendwann gut funktioniert.
Das Problem ist, dass, sobald ich zu viele objs laden, scheint es mir, dass die Berührungsbewegungs zu lange dauert, zu reagieren und touchcancel ausgelöst wird. Das Problem ist, dass, sobald touchcancel ausgelöst werden, ich nicht mehr touchmove s Ereignisse erhalte, und ich kann die Bewegung nicht mehr spüren.
Ist jemand mit diesem Problem konfrontiert? Ich kenne den Fehler in Android, wo Sie preventDefault (touchend event in ios webkit not firing?) anrufen müssen, aber in diesem Fall scheint es, dass es wegen der Speicherbelastung nicht funktioniert.
Vielen Dank!
Ich habe das gleiche Problem auf Android 2.3. Android 4+ scheint in Ordnung zu sein. Haben Sie etwas zu diesem Thema gefunden? – dioslaska
@dioslaska shim @ https: // github.com/TNT-RoX/android-Swipe-Shim –
Für die Zukunft, hier die Antwort funktioniert perfekt: http://stackoverflow.com/questions/10367854/html5-android-touchcancel –