interactjs "hold" 灵敏度

interactjs "hold" sensitivity

使用interactjs,有什么方法可以控制拖拽的灵敏度吗?在 PC 上使用鼠标很容易触发 hold 事件。在 iPad/iPhone 屏幕灵敏度(主要是手指压力变化)上,很难获得 "hold" 通知。它几乎总是 "drag".

a repo fiddle here.

交互代码如下:

interact('.draggable')
    .draggable(
        {
            inertia: false,
        }
    )
    .on('dragmove', function(event) 
    {                       
        event.preventDefault();

        var label = document.getElementById("label");

        if(label)
        {
            label.innerHTML = "DRAG";
        }        
    })
    .on('tap', function(event) {                
        event.preventDefault();

        var label = document.getElementById("label");

        if(label)
        {
            label.innerHTML = "TAP";
        }        
    })
    .on('down', function(event) {
        event.preventDefault();

        var label = document.getElementById("label");

        if(label)
        {
            label.innerHTML = "DOWN";
        }
    })
    .on('hold', function(event) {
        event.preventDefault();

        var label = document.getElementById("label");

        if(label)
        {
            label.innerHTML = "HOLD";
        }
    })
    .on('up', function(event) {
        event.preventDefault();

        var label = document.getElementById("label");

        if(label)
        {
            label.innerHTML = "UP";
        }
    });
interact.pointerMoveTolerance( distance );

其中 distance 是指针在按下后可以移动的距离(以像素为单位)而不会发生 move/action。

this demo

中调整滑块即可看到效果