您的位置:首页 > 其它

手机触摸 事件, 当触摸屏幕时候触发

2015-07-06 13:41 1151 查看
touchstart:触摸开始的时候触发

touchmove:手指在屏幕上滑动的时候触发

touchend:触摸结束的时候触发

而每个触摸事件都包括了三个触摸列表,每个列表里包含了对应的一系列触摸点(用来实现多点触控):

touches:当前位于屏幕上的所有手指的列表。

targetTouches:位于当前DOM元素上手指的列表。

changedTouches:涉及当前事件手指的列表。

每个触摸点由包含了如下触摸信息(常用):

identifier:一个数值,唯一标识触摸会话(touch session)中的当前手指。一般为从0开始的流水号(android4.1,uc)

target:DOM元素,是动作所针对的目标。

pageX/pageX/clientX/clientY/screenX/screenY:一个数值,动作在屏幕上发生的位置(page包含滚动距离,client不包含滚动距离,screen则以屏幕为基准)。 

function handleTouchEvent(event) {

//只跟踪一次触摸

if (event.touches.length == 1) {

var output = document.getElementById("output");

switch (event.type) {

case "touchstart":

output.innerHTML = "Touch started (" + event.touches[0].clientX + "," + event.touches[0].clientY + ")";

break;

case "touchend":

output.innerHTML += "Touch ended (" + event.changedTouches[0].clientX + "," + event.changeTouches[0].clientY + ")";

break;

case "touchmove":

event.preventDefault(); //阻止滚动事件冒泡,

output.innerHTML += "Touch moved (" + event.changedTouches[0].clientX + "," + event.changedTouches[0].clientY + ")";

break;

}

}

}

document.addEventListener("touchstart", handleTouchEvent, false);

document.addEventListener("touchend", handleTouchEvent, false);

document.addEventListener("touchmove", handleTouchEvent, false);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: