javascript - interact.js 拖动不适用于 chrome 移动模拟器

标签 javascript drag-and-drop interact.js

我正在使用 interact.js创建一个可抛出的元素。

我正在尝试运行一个简单的示例,它在网络模式下运行良好,但是当我模拟移动设备时,拖动无法正常工作(元素几乎没有移动)。

这是一个容器:https://jsbin.com/gabagojuji/1/edit?output

只需在 Web 和移动模式下运行它,看看差异。

// target elements with the "draggable" class
interact('.draggable')
    .draggable({
        // enable inertial throwing
        inertia: true,
        maxPerElement: '>=2',
        // keep the element within the area of it's parent
        restrict: {
            restriction: ".wrapper",
            endOnly: false,
            elementRect: { top: 0, left: 0, bottom: 1, right: 1 }
        },
        // enable autoScroll
        autoScroll: true,

        // call this function on every dragmove event
        onmove: dragMoveListener,
        // call this function on every dragend event
        onend: function(event) {
            var textEl = event.target.querySelector('p');

            textEl && (textEl.textContent =
                'moved a distance of ' +
                (Math.sqrt(event.dx * event.dx +
                    event.dy * event.dy) | 0) + 'px');
        }
    });

function dragMoveListener(event) {
    var target = event.target,
        // keep the dragged position in the data-x/data-y attributes
        x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx,
        y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy;

    // translate the element
    target.style.webkitTransform =
        target.style.transform =
        'translate(' + x + 'px, ' + y + 'px)';

    // update the posiion attributes
    target.setAttribute('data-x', x);
    target.setAttribute('data-y', y);
}

最佳答案

我遇到同样的问题已经有一段时间了,终于找到了解决办法。 您实际上必须在可拖动容器上使用它:

.dragging-container,
.dragging-container * {
  -ms-touch-action: none;
  touch-action: none;
}

关于javascript - interact.js 拖动不适用于 chrome 移动模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41998204/

相关文章:

javascript - 为什么文件对话框打不开?

javascript - InstaFeed.js : Change thumb size from 150x150 to 250x250

javascript - interact.js 光标没有改变

javascript - 重定向到 Index.html 问题

javascript - 拖动元素时检测悬停/鼠标悬停/鼠标输入

c# - 如何获取放置到控制台应用程序窗口中的项目的文件路径?

c# - Windows Phone 8.1 中 UIElement 的拖放延迟

javascript - interact.js 拖放引用 div

javascript - 可拖动的 div 移动 2px,即使它被捕捉到 10px

javascript - 优化 jQuery 代码 - 重复部分