关于如何获取移动端 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