获取touchstart,touchmove,touchend 坐标

简单说下如何用jQuery 和 js原生代码获取touchstart,touchmove,touchend 坐标值:

jQuery 代码:

$(‘#id‘).on(‘touchstart‘,function(e) {
    var _touch = e.originalEvent.targetTouches[0];
    var _x= _touch.pageX;
});

$(‘#id‘).on(‘touchmove‘,function(e) {
    var _touch = e.originalEvent.targetTouches[0];
    var _x= _touch.pageX;
});

$(‘#id‘).on(‘touchend‘,function(e) {
    var _touch = e.originalEvent.changedTouches[0];
    var _x= _touch.pageX;
}

js原生代码

document.getElementById("id").addEventListener("touchstart",function(e)
{
    var _x=e.touches[0].pageX;
    var _y=e.touches[0].pageY;
    console.log("start",_x)
})
document.getElementById("id").addEventListener("touchmove",function(e)
{
    var _x=e.touches[0].pageX;
    var _y=e.touches[0].pageY;
    console.log("move",_x)
})
document.getElementById("id").addEventListener("touchend",function(e)
{
    var _x=e.changedTouches[0].pageX;
    var _y=e.changedTouches[0].pageY;
    console.log("end",_x)
})

以上两种办法中 touchend 需要使用changedTouches[0]。

一般我们取第一个手指的坐标,如果有其他要求,可能需要判断手指数量。

if (e.targetTouches.length == 1)
{
  //...
}
时间: 2024-12-29 04:25:23

获取touchstart,touchmove,touchend 坐标的相关文章

JQuery 获取touchstart,touchmove,touchend 坐标

JQuery写法: $('#id').on('touchstart',function(e) { var _touch = e.originalEvent.targetTouches[0]; var _x= _touch.pageX; }); $('#id').on('touchmove',function(e) { var _touch = e.originalEvent.targetTouches[0]; var _x= _touch.pageX; }); $('#id').on('touc

jQuery的touchstart,touchmove,touchend的获取位置

$('#webchat_scroller').on('touchstart',function(e) { var touch = e.originalEvent.targetTouches[0]; var y = touch.pageY; }); $('#webchat_scroller').on('touchmove',function(e) { var touch = e.originalEvent.targetTouches[0]; var y = touch.pageY; }); $('

手机端touchstart,touchmove,touchend事件,优化用户划入某个可以点击LI的效果

在我们滑动手机的时候,如果LI或者DIV标签可以点击,那么在移动端给用户一个效果 /*id为添加效果LI上的UL的ID,或者是当前DIV的ID*/ function doTouchPublic(id){ setTimeout(function(){ var obj=document.getElementById(id); touchPublic.tagUltagDiv(obj); },300); }; var touchPublic={ tagUltagDiv:function(obj){ va

touchstart,touchmove,touchend事件 写法

jQuery写法: 1 $('#id').on('touchstart',function(e) { 2 var _touch = e.originalEvent.targetTouches[0]; 3 var _x= _touch.pageX; 4 }); 5 6 $('#id').on('touchmove',function(e) { 7 var _touch = e.originalEvent.targetTouches[0]; 8 var _x= _touch.pageX; 9 });

touchstart和touchend事件

touchstart和touchend事件 移动互联网是未来的发展趋势,现在国内很多互联网大佬都在争取移动这一块大饼,如微信及支付宝是目前比较成功的例子,当然还有各种APP和web运用. 由于公司的需要,最近也在开发移动web,对于一个没有移动开发经验的人来说,其实也是比较困恼的一件事情.对于移动web开发目前主要是基于webkit内核的浏览器.在webkit内核的环境下开发,你可以充分的运用html5+css3,还有它的一些私有属性.这让我很兴奋.可是,毕竟,对于一个长期习惯pc端做固定像素开

解决移动端touch事件(touchstart/touchend) 的穿透问题

情景: 我们在移动端点击事件click对比touchend会有很明显的300ms的延迟,为啥? 浏览器在 click 后会等待约300ms去判断用户是否有双击行为(手机需要知道你是不是想双击放大网页内容). 如果300ms内没有再一次click,那么就判定这是一次单机行为.所以我们基本上都用(touchstart/touchend). 但是这些事件在执行完之后还会执行一次click事件(具体原因解释起来太麻烦了,这要从JS事件监听机制的根本的讲起...其实我也了解有限..) 解决: 解决方案一:

Swift - 获取屏幕点击坐标下所有对象(SpriteKit游戏开发)

对于场景内对象元件的点击响应,我们可以在场景的touchesBegan()方法中内统一处理. SKScene中touchesBegan()是响应屏幕点击的方法,在这里面我们可以先获取点击位置下所有的对象,然后筛选出需要的对象再调用该对象的方法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import SpriteKit class GameScene: SKScene {          //

微信获取到的经纬度坐标不精准的问题

(转自:风行天下 http://www.cnblogs.com/php-linux/p/4730744.html) 微信如何根据经纬度坐标查询具体地理位置 好多人会问为什么微信高级接口获取的坐标信息位置不准,主要原因不是微信获取的不准,而是微信获取的是gps坐标,如果你直接用百度或google的api去解析的话肯定会出现误差的. 首先你需要吧gps位置转换成google或者百度的坐标,然后在通过转换后的坐标去获取准确的地理位置. 方法一:gps转换成google或者百度坐标,转换gps的接口 h

OpenCV获取图片所有对应坐标中的像素值

获取图片所有对应坐标中的像素值.直接上代码了 #include <iostream> #include "cv.h" #include <highgui.h> #include<fstream> using namespace std; int main() { IplImage *img = cvLoadImage("C:\\Users\\Sunstarisme\\Desktop\\Lemon\\All Frames\\2.bmp&quo