手机事件touch
1,简介
手机页面响应click比较慢,因为点击事件click触发后,手机会等待300毫秒,检测是或否有第二次点击,如果有属于双击,没有则为单击,但是大部分的浏览器的双击是放大视口,弹出辅助框等功能,所以手机页面展示一般不用click,而是使用touch
touch分为三个事件:
touchstart:触摸开始,这个事件在每次触摸都只会触发一次
touchmove:触摸移动,手指在手机屏幕上移动
touchend:触摸结束,手指抬起
touch事件不需要等待300毫秒,只要触发立即执行
语法:
ele.addEventListener('touchstar',function(){},false);
这个事件只能使用dom2级事件绑定方式,不能使用dom0级绑定
2.event.touches数组
这个数组是存放每一根手指头触摸时信息的数组。如果一根手指头就是一个元素的话,十个手指头就是十个元素(前提手机支持十个触点)
数组中的元素顺序,谁先触摸谁在前边
也就是说:event.touches.length 就是触摸的手指数量
clientX:触摸手指距离视口左边的距离
pageY:触摸的手指距离页面顶端的距离
screenY:距离屏幕顶端的距离
注:touchend事件中touches是空的,所以没有用,按照手指离开的顺序,都会被放进event,changeTouches数组,谁先离开谁是第一个
1,简介
手机页面响应click比较慢,因为点击事件click触发后,手机会等待300毫秒,检测是或否有第二次点击,如果有属于双击,没有则为单击,但是大部分的浏览器的双击是放大视口,弹出辅助框等功能,所以手机页面展示一般不用click,而是使用touch
touch分为三个事件:
touchstart:触摸开始,这个事件在每次触摸都只会触发一次
touchmove:触摸移动,手指在手机屏幕上移动
touchend:触摸结束,手指抬起
touch事件不需要等待300毫秒,只要触发立即执行
语法:
ele.addEventListener('touchstar',function(){},false);
这个事件只能使用dom2级事件绑定方式,不能使用dom0级绑定
2.event.touches数组
这个数组是存放每一根手指头触摸时信息的数组。如果一根手指头就是一个元素的话,十个手指头就是十个元素(前提手机支持十个触点)
数组中的元素顺序,谁先触摸谁在前边
也就是说:event.touches.length 就是触摸的手指数量
clientX:触摸手指距离视口左边的距离
pageY:触摸的手指距离页面顶端的距离
screenY:距离屏幕顶端的距离
注:touchend事件中touches是空的,所以没有用,按照手指离开的顺序,都会被放进event,changeTouches数组,谁先离开谁是第一个