interactjs "hold" 灵敏度
interactjs "hold" sensitivity
使用interactjs,有什么方法可以控制拖拽的灵敏度吗?在 PC 上使用鼠标很容易触发 hold 事件。在 iPad/iPhone 屏幕灵敏度(主要是手指压力变化)上,很难获得 "hold" 通知。它几乎总是 "drag".
交互代码如下:
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。
中调整滑块即可看到效果
使用interactjs,有什么方法可以控制拖拽的灵敏度吗?在 PC 上使用鼠标很容易触发 hold 事件。在 iPad/iPhone 屏幕灵敏度(主要是手指压力变化)上,很难获得 "hold" 通知。它几乎总是 "drag".
交互代码如下:
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。