Cordova - 'touchmove' 事件不会立即触发
Cordova - 'touchmove' Event doesn't fire right away
我有这个简单的代码:
document.addEventListener('touchmove', onDocumentTouchMove, false);
function onDocumentTouchMove(event)
{
for(var i = 0; i < event.touches.length; i++)
{
clickX[i] = event.touches[i].pageX;
clickY[i] = event.touches[i].pageY;
}
}
我想要做的是让事件 'touchmove' 立即触发,但它需要特定数量的像素才能通过,就像触发前的阈值一样。
就我而言,似乎我必须在它开火前将手指移动大约半英寸。有没有办法让它在没有门槛的情况下开火?
我试图在我的应用程序中拖动一个简单的框,但它似乎在识别 'touchmove' 之前正在检查不同的事件,并且由于延迟使它看起来很难看。
这是距离问题,不是时间问题。
我通过添加解决了这个问题:
event.preventDefault();
在我的函数中:
onDocumentTouchStart(防止延迟触发其他事件)
onDocumentTouchMove(防止滚动)
document.addEventListener('touchstart', onDocumentTouchMove, false);
document.addEventListener('touchmove', onDocumentTouchMove, false);
function onDocumentTouchStart(event)
{
event.preventDefault(); //Allows firing of other events asap
for(var i = 0; i < event.touches.length; i++)
{
clickX[i] = event.touches[i].pageX;
clickY[i] = event.touches[i].pageY;
}
}
function onDocumentTouchMove(event)
{
event.preventDefault(); //Prevents Scrolling
for(var i = 0; i < event.touches.length; i++)
{
clickX[i] = event.touches[i].pageX;
clickY[i] = event.touches[i].pageY;
}
}
这个问题几个月了!现在它在我所有的应用程序中都能完美运行! :D
此外,这里有一篇关于触摸事件的精彩文章:
我有这个简单的代码:
document.addEventListener('touchmove', onDocumentTouchMove, false);
function onDocumentTouchMove(event)
{
for(var i = 0; i < event.touches.length; i++)
{
clickX[i] = event.touches[i].pageX;
clickY[i] = event.touches[i].pageY;
}
}
我想要做的是让事件 'touchmove' 立即触发,但它需要特定数量的像素才能通过,就像触发前的阈值一样。
就我而言,似乎我必须在它开火前将手指移动大约半英寸。有没有办法让它在没有门槛的情况下开火?
我试图在我的应用程序中拖动一个简单的框,但它似乎在识别 'touchmove' 之前正在检查不同的事件,并且由于延迟使它看起来很难看。
这是距离问题,不是时间问题。
我通过添加解决了这个问题:
event.preventDefault();
在我的函数中:
onDocumentTouchStart(防止延迟触发其他事件)
onDocumentTouchMove(防止滚动)
document.addEventListener('touchstart', onDocumentTouchMove, false);
document.addEventListener('touchmove', onDocumentTouchMove, false);
function onDocumentTouchStart(event)
{
event.preventDefault(); //Allows firing of other events asap
for(var i = 0; i < event.touches.length; i++)
{
clickX[i] = event.touches[i].pageX;
clickY[i] = event.touches[i].pageY;
}
}
function onDocumentTouchMove(event)
{
event.preventDefault(); //Prevents Scrolling
for(var i = 0; i < event.touches.length; i++)
{
clickX[i] = event.touches[i].pageX;
clickY[i] = event.touches[i].pageY;
}
}
这个问题几个月了!现在它在我所有的应用程序中都能完美运行! :D
此外,这里有一篇关于触摸事件的精彩文章: