2016-12-15 42 views
1

我正面临一个问题,试图找到一种方法来制作一段基于代码的鼠标事件。它可以很好地与鼠标配合使用,但会与触摸设备发生奇怪的反应。从touchmove中检索回覆的元素

我要赶一个鼠标按下或touchstart,这里没有问题,它在另一个返回元素

$('body').on("mousedown touchstart", 'ul#squares li p', function(e){ 
    console(this.id); 
}); 

但是当我试图抓住这个事实手指移动的ID(不往上走)元素,它仍然返回由touchstart事件有关元素的id,仿佛手指仍然在它

$('body').on("mouseover touchmove", 'ul#squares li p', function(e){ 
    console(this.id); 
}); 

https://jsfiddle.net/um3fr0wg/1/

任何想法?

回答

0

好的,找到它。

“touchmove”事件总是返回起点,但手指坐标可以通过event.originalEvent.touches [0] .clientX或clientY属性获取。 然后只需要遍历我的元素并检查坐标是否匹配。