相关疑难解决方法(0)

触摸移动卡住忽略尝试取消触摸移动

我正在搞乱触摸滑块上的触摸事件,我不断收到以下错误:

忽略尝试取消具有cancelable = false的touchmove事件,例如因为滚动正在进行且无法中断.

我不确定是什么导致了这个问题,我不熟悉触摸事件,似乎无法解决这个问题.

以下是处理触摸事件的代码:

Slider.prototype.isSwipe = function(threshold) {
    return Math.abs(deltaX) > Math.max(threshold, Math.abs(deltaY));
}


Slider.prototype.touchStart = function(e) {

    if (this._isSliding) return false;

      touchMoving = true;
      deltaX = deltaY = 0;

    if (e.originalEvent.touches.length === 1) {

        startX = e.originalEvent.touches[0].pageX;
        startY = e.originalEvent.touches[0].pageY;

        this._$slider.on('touchmove touchcancel', this.touchMove.bind(this)).one('touchend', this.touchEnd.bind(this));

        isFlick = true;

        window.setTimeout(function() {
            isFlick = false;
        }, flickTimeout);
    }
}


Slider.prototype.touchMove = function(e) {

    deltaX = startX - e.originalEvent.touches[0].pageX;
    deltaY = startY - e.originalEvent.touches[0].pageY;

    if(this.isSwipe(swipeThreshold)) {
        e.preventDefault();
        e.stopPropagation();
        swiping = true; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery slider event-handling touch

38
推荐指数
4
解决办法
7万
查看次数

标签 统计

event-handling ×1

javascript ×1

jquery ×1

slider ×1

touch ×1