我遇到了一个问题,试图找到一种方法来制作一段基于代码的鼠标事件也可以处理触摸事件。它可以与鼠标一起使用,但与触摸设备反应奇怪。
我必须抓住mousedown或touchstart,这里没问题,它返回元素的id
$('body').on("mousedown touchstart", 'ul#squares li p', function(e){
console(this.id);
});
但是当我尝试捕捉手指移动(没有上升)超过另一个元素的事实时,它仍然返回touchstart事件所关注元素的id,就好像手指仍在其上一样
$('body').on("mouseover touchmove", 'ul#squares li p', function(e){
console(this.id);
});
https://jsfiddle.net/um3fr0wg/1/
有什么想法吗?
答案 0 :(得分:0)
好的,找到了。
“touchmove”事件始终返回起始点,但可以使用event.originalEvent.touches [0] .clientX或clientY属性检索手指坐标。 然后只需迭代我的元素并检查坐标是否匹配。