我遇到了一个问题,试图找到一种方法来使一段基于鼠标事件的代码也可以与触摸事件一起使用。它在鼠标上工作正常,但在触摸设备上 react 很奇怪。
我必须捕获 mousedown 或 touchstart,这里没问题,它返回元素的 id
$('body').on("mousedown touchstart", 'ul#squares li p', function(e){
console(this.id);
});
但是当我 try catch 手指已移动(没有向上)到另一个元素上的事实时,它仍然返回 touchstart 事件所涉及的元素的 id,就好像手指仍在其上一样
$('body').on("mouseover touchmove", 'ul#squares li p', function(e){
console(this.id);
});
https://jsfiddle.net/um3fr0wg/1/
有什么想法吗?
最佳答案
好的,找到了。
“touchmove”事件始终返回起点,但可以使用 event.originalEvent.touches[0].clientX 或 clientY 属性检索手指坐标。 然后只需要迭代我的元素并检查坐标是否匹配。
关于javascript - 从 touchmove 中检索悬停的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41162830/