javascript - 从 touchmove 中检索悬停的元素

标签 javascript jquery touch mouseevent

我遇到了一个问题,试图找到一种方法来使一段基于鼠标事件的代码也可以与触摸事件一起使用。它在鼠标上工作正常,但在触摸设备上 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/

相关文章:

javascript - 如何将当前日期的两天添加到隐藏输入的值

Android 动态壁纸触摸事件层次结构

css - 防止固定元素在触摸屏上缩放时调整大小

javascript - Angular JS 中的链式 promise 问题

javascript - 使用 Meteor 中的事件从数组中检索元素

javascript - 在 HTML 表中查找匹配值并突出显示它

javascript - 类型错误 : Cannot set property '0' of undefined

PHP json_encode html 元素包含不需要的空格

c# - 使用 jquery 应用样式

ios - 在后台检测 iOS 上的屏幕触摸