科尔多瓦 - “触摸移动”事件不会立即触发
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;
}
}
我想做的是让事件"触摸移动"立即触发,但它需要特定数量的像素才能通过,比如触发前的阈值。
就我而言,似乎我必须在它发射之前移动手指大约半英寸。有没有办法让它在没有阈值的情况下被解雇?
我正在尝试在我的应用程序中拖动一个简单的框,但它似乎在识别"触摸移动"之前检查不同的事件,并且由于延迟而使其看起来很丑。
这是一个距离问题,而不是时间问题。
我能够通过添加以下内容来解决此问题:
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
另外,这里有一个很好的触摸事件阅读:
https://www.w3.org/TR/touch-events/#dfn-touchmove
相关文章:
- 触摸移动时切换到新元素
- 如何在jquery中找到鼠标滚轮/触摸移动事件的走向
- 在firefox上的滚动事件中移动元素
- 单击跨度会导致模糊事件,该事件会移动跨度,使其不注册单击
- 如何查找触摸移动到其他对象
- 在jQuery或Javascript中是否有办法确定触摸移动事件的速度
- 连续触摸移动
- 触摸移动和手势更改有什么区别
- 科尔多瓦 - “触摸移动”事件不会立即触发
- HTML5 部分触摸开始触摸移动触摸触摸 iOS
- 网站上的方向更改事件(无移动应用程序)
- 需要触摸设备在覆盖另一个元素时保持触摸移动事件触发
- 在 Android 2.3.3 上,触摸移动事件的数量大幅减少
- 滚动元素上的Javascript触摸移动事件
- Opacity获胜'在iOS设备上滚动或触摸移动事件时,不要设置动画
- 在触摸移动事件上更改transformX值时,如何计算锚点
- 是否有可能在a帧中获得触摸事件(在移动浏览器上)
- Javascript中的触摸和点击事件- iOS移动Safari
- "触摸移动”;Android上的事件&使用PhoneGap的iPhone
- jQuery通过触摸移动事件触发可拖动的启动和停止