在开发人员工具中,我可以看到在执行手指移动时多次触发 touchmove
事件*。
我正在寻找应该移动执行 touchmove 的 div
的解决方案 - 对于一个或两个轴的触摸移动像素的确切数量。
到目前为止我做了什么?
我试图将匿名函数绑定(bind)到 div
的 touchmove
事件,期望匿名函数的 e
参数会像 mousemove 那样具有 offsetX
和 offsetY
之类的东西,所以我可以相应地更新 div
的位置参数。
像这样的东西:
$('div').on('touchmove', function(e){
console.log(e);
//e has no offset or similar param known to me
});
没结果。
我应该怎么做?
*
我实际上是在 Chrome 开发工具中进行光标触摸模拟
最佳答案
我建议查看这篇文章,它演示了“touchmove”事件的简单设置并在 jQuery 中获取偏移位置:http://www.devinrolsen.com/basic-jquery-touchmove-event-setup/
如果文章消失了,这里是代码设置,其中的偏移量从文章的事件中计算出来。
$('#someElm').bind('touchmove',function(e){
e.preventDefault();
var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
var elm = $(this).offset();
var x = touch.pageX - elm.left;
var y = touch.pageY - elm.top;
});
希望这也可以帮助在纯 javascript 中找到解决方案。
关于javascript - 如何检测触摸移动长度/偏移量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33548926/