我在mozilla website和w3网站上读到了touchenter和touchleave事件,但找不到任何支持它的浏览器或任何模仿这种效果的javascript库。
请建议可以做什么,因为有变通办法,因为我正在为一些鼠标悬停一样的效果,事件被触发时,手指进入元素,而不是当用户解除和再次触摸元素。
谢谢:)
我在mozilla website和w3网站上读到了touchenter和touchleave事件,但找不到任何支持它的浏览器或任何模仿这种效果的javascript库。
请建议可以做什么,因为有变通办法,因为我正在为一些鼠标悬停一样的效果,事件被触发时,手指进入元素,而不是当用户解除和再次触摸元素。
谢谢:)
6条答案
按热度按时间vxbzzdmp1#
我建议你用
document.elementFromPoint(touch.x, touch.y);
在触摸移动事件上。
olmpazwi2#
您正在引用old draft,最新的old draft删除了touchenter和touchleave事件。
iezvtpos3#
有一个here列表说明了版本的兼容性。目前Chrome,Opera,iOS Safari,Android浏览器,黑莓浏览器,Opera移动的,Chrome for Android,Firefox for Android都支持此功能
ryevplcw4#
W3C删除了ontouchenter和ontouchleave,所以我们只能执行这些操作(使用zepto.js,touch.js,ontouchmove,elementFromPoint):
c2e8gylq5#
我创建了一个小脚本来使onTouchEnter和onTouchLeave方法可用。非常简单的使用(要测试代码片段激活此网站的移动版本,或在智能手机浏览器上使用它)
下面的脚本使用 * document. elementFromPoint * 来实现这个魔术。
x一个一个一个一个x一个一个二个一个x一个一个三个一个
This GIST包含与上面相同的代码,如需改进,请在此处创建注解。
btqmn9zl6#
这对我很有效。在回调中,我只需要元素;不是鼠标/触摸事件,也不是上下文(不要在回调中使用“this”)。
pointer.ts
example.ts