如何消除指针事件,但不触摸事件?

时间:2014-11-21 23:52:44

标签: javascript html css web touch

设置pointer-events:none似乎也会关闭触控事件。这显然没有意义,因为"触摸"事件不是指针"指针"事件。我的手指不是指针。 :)

有没有办法关闭指针/鼠标事件,但只留下触摸事件?像touch-events这样的属性会很好。

2 个答案:

答案 0 :(得分:4)

实际上,触摸事件是基于定义的特定类型的指针事件。

来自W3.org, Pointer Events, Section 1

  

指针可以是鼠标在屏幕上的任何接触点   光标,笔,触摸(包括多点触控)或其他指向输入   设备

此外:

  

处理通用指针输入的事件看起来很像那些   for mouse:pointerdown,pointermove,pointerup,pointerover,   指针输出等。这有助于更轻松地从鼠标迁移内容   指针事件的事件。指针事件提供所有常见的   鼠标事件中存在的属性(客户端坐标,目标   元素,按钮状态等)除了其他的新属性   输入形式:压力,接触几何,倾斜等。所以作者可以   轻松编码指针事件以在不同输入之间共享逻辑   有意义的类型,并为特定类型的自定义   只在必要时输入以获得最佳体验。

enter image description here

因此,设置pointer-events:none;会影响触摸和鼠标事件。

所以回答你的问题;你不能区分mouse events(我假设pointer events在你的问题中你基本上是mouse events}和touch events只有css和pointer-events属性。但由于mouse eventstouch events不同,在这种情况下,您可以根据自己的需要恢复为javascript。

答案 1 :(得分:1)

无法通过CSS禁用鼠标事件。但是您可以使用javascript轻松完成:

相关问题