移动端 获取 touchend 事件中真正触摸点下方的元素

移动端的touchstart, touchmove, touchend三个事件,拖动元素结束时,获取到了touchend事件, 但是event.touches[0].target所指向的元素却是touchstart时获取到的元素,而并非手指所移动到上方的元素,所以在处理获取移动到哪个元素上方之类的需求时,普通方法已不奏效,解决方式如下:

var element = document.elementFromPoint(event.originalEvent.pageX, event.originalEvent.pageY);

这样获取到的即为所需元素。

document.addEventListener('touchend', function(e) {
     var event = e || window.event;
     var element = document.elementFromPoint(event.changedTouches[0].pageX, event.changedTouches[0].pageY);
     console.log(element);
 }, false);
LeafBox | 树叶盒子 是一个优秀的资源共享平台,拥有丰富的数字资源,您想要的在这里都可以找到。
LeafBox | 树叶盒子 » 移动端 获取 touchend 事件中真正触摸点下方的元素

发表评论