Android-Browser: Touchcancel wird ausgelöst, obwohl touchmove preventDefault verwendet

Ich versuche, eine Webseite zu erstellen, die die Berührung durch den Benutzer spürt und Objekte auf der Leinwand zieht.

Also mache ich so etwas:

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 funktioniert bis zu einem gewissen Punkt.

Das Problem ist, dass, sobald ich zu viele Objekte lade, es mir so vorkommt, als ob dietouchmove dauert zu lange, um zu antworten, undtouchcancel wird ausgelöst. Das Problem ist, dass sobaldtouchcancel Ausgelöst werden Ich bekomme keine mehrtouchmoves Ereignisse, und ich kann die Bewegung nicht mehr spüren.

Hat jemand dieses Problem konfrontiert? Ich kenne den Fehler in Android, bei dem Sie anrufen müssenStandard verhindern (Touchend Event im ios Webkit wird nicht ausgelöst?) aber in diesem Fall scheint es aufgrund der Speicherbelastung nicht zu funktionieren.

Vielen Dank!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage