Przeglądarka Android: dotknij, aby zwolnić, chociaż touchmove ma właściwość preventDefault

Próbuję zbudować stronę internetową, która wyczuwa dotyk użytkownika i przeciąga i obiekt wzdłuż płótna.

Więc robię coś takiego:

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);

Działa dobrze do pewnego momentu.

Problem polega na tym, że jak tylko załaduję zbyt wiele obiektów, wydaje mi się, żetouchmove odpowiedź trwa zbyt długo, itouchcancel zostaje uruchomiony. Problem polega na tym, że tak szybkotouchcancel zostać uruchomionym Nie otrzymuję więcejtouchmoves wydarzenia i nie mogę już wyczuć tego ruchu.

Czy ktoś napotkał ten problem? Wiem o błędzie w Androidzie, gdzie musisz zadzwonićpreventDefault (zdarzenie touchend w ik webkit nie zwalnia?) ale w tym przypadku wydaje się, że nie działa z powodu obciążenia pamięci.

Dziękuję Ci!

questionAnswers(3)

yourAnswerToTheQuestion