首页 > 代码库 > 手机e.pageX和e.pageY无效的原因

手机e.pageX和e.pageY无效的原因

手机端拖拽事件:

touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。

touchmove事件:当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。

touchend事件:当手指从屏幕上离开的时候触发。

touchcancel事件:当系统停止跟踪触摸的时候触发。

调用方法:
(1)jquery方法:$(document).bind("touchend", function(e){});
(2)javascript方法:document.addEventListener("touchend",function(e){});

手机端获取pageX和pageY:

touchstart事件下获取:e.originalEvent.targetTouches[0].pageX。
touchmove事件下获取:e.originalEvent.targetTouches[0].pageX。
touchend事件的下获取:e.originalEvent.changedTouches[0].pageX 。


每个Touch对象包含的属性如下。

clientX:触摸目标在视口中的x坐标。
clientY:触摸目标在视口中的y坐标。
identifier:标识触摸的唯一ID。
pageX:触摸目标在页面中的x坐标。
pageY:触摸目标在页面中的y坐标。
screenX:触摸目标在屏幕中的x坐标。
screenY:触摸目标在屏幕中的y坐标。
target:触目的DOM节点目标。

手机e.pageX和e.pageY无效的原因