javascript - 触摸移动 30-80 次后卡住并且控制台出现错误

标签 javascript jquery jquery-ui-draggable jquery-ui-touch-punch

完全错误:

[Intervention] Ignored attempt to cancel a touchend event with cancelable=false, for example because scrolling is in progress and cannot be interrupted.
preventDefault  @   jquery.min.js:2
(anonymous) @   number_grid_game.php:239
each    @   jquery.min.js:2
(anonymous) @   number_grid_game.php:234
dispatch    @   jquery.min.js:2
y.handle    @   jquery.min.js:2

我有一个使用触摸事件的代码。当我开始拖动时,一开始 10-30 步是正常的,但在 30-35 步后,拖动变得缓慢并且难以拖动。我不确定是什么导致了这个问题,我是触摸事件的新手,似乎无法解决这个问题。 这是处理触摸事件的代码:

$(window)
.on('touchstart', function(event) {
    var missingNumbers, $target = $(event.target);

   if(!$target.hasClass('missing-number'))
        return;
    missingNumbers = MissingNumbers.ByElement($target);
    //185
    $.each(event.originalEvent.changedTouches, function(index, touch) {

        event.preventDefault();
        event.stopPropagation();

        missingNumbers.startDrag($target, touch.identifier, touch.pageX, touch.pageY);
    });
})

.on('touchmove', function(event) {
    $.each(event.originalEvent.changedTouches, function(index, touch) {
        var touchId = touch.identifier;

       if((touchId in MissingNumbers.DraggedElements)) {

            event.preventDefault();
            event.stopPropagation();

            MissingNumbers.DoCellDrag(touchId, touch.pageX, touch.pageY);
        }
    });
})

.on('touchend', function(event) {

    $.each(event.originalEvent.changedTouches, function(index, touch) {
        var touchId = touch.identifier;
        if((touchId in MissingNumbers.DraggedElements)) {
            event.preventDefault();
            event.stopPropagation();
            MissingNumbers.EndCellDrag(touchId);
        }
    });

});

任何解决方案将不胜感激

最佳答案

我找到了解决方案.. 将 css = 'touch-action:none' 放入 div 区域,一切都会正常工作。

关于javascript - 触摸移动 30-80 次后卡住并且控制台出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673950/

相关文章:

jQuery UI 可排序动态包含问题

javascript - 将固定的 div 放在可拖动的 div 之外 (draggable.js)

javascript - 使用 jQuery 动态设置元素的高度并在窗口调整大小时更改高度

javascript - 我可以在 Javascript 中使用变量进行 'if' 查询吗?

javascript - 如何突出显示给定坐标的单词

jquery - 在 Angular JS 网站中更改页面时显示加载微调器

javascript - val() 函数给出控制台错误

javascript - 在不清除背景图像的情况下在 Canvas 上绘制多个矩形

jquery - 使用 jQuery UI 放置在目标区域后克隆可拖动

javascript - 是否有任何替代的 javascript 函数可用于 jQuery 中的可拖动包含?