关于如何获取移动端 touchmove 事件中真正触摸点下方的元素

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

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

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

备注:不同版本可能获取方式不同,有的是利用下面的代码来获取

document.elementFromPoint(event.clientX, event.clientY);

 

例:

  $('li').on('touchmove',function(){

    var element = document.elementFromPoint(event.touches[0].pageX, event.touches[0].pageY);

  })

 

 

转载原贴 http://blog.csdn.net/greatwang123/article/details/39496053

posted @ 2016-09-09 16:27  这个男人  阅读(515)  评论(0编辑  收藏  举报