我正在尝试构建一个网页来感知用户的触摸并沿着画布拖动和对象。
所以我正在做这样的事情:
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(ios webkit 中的 touchend 事件未触发?)但在这种情况下,由于内存负担,它似乎无法正常工作。
谢谢!