2016-08-15 61 views
2

我见过说明情况时,您可以使用触摸动作:操作

touch-action: manipulation; 

在应用于按钮和链接各个网站的CSS。我很好奇这是什么目的?

我是否,以及以何种方式,一个 给定区域可以由用户进行操作(例如,通过平移 或缩放阅读有关Mozilla Developer Network

触摸动作CSS属性指定的值)。

汽车: 用户代理可确定任何允许触摸行为,例如 平移和缩放视口的操作,对于 开始在元件上的触摸。

无:使用这个值来禁用所有 默认行为,让你的内容来处理所有触摸输入 (触摸的元素开始不能触发默认触摸 行为)。

泛X: 用户代理可以考虑在 开始元素只为与水平滚动的内容水平滚动的 元素的最近的祖先而言触动。

泛Y: 用户代理可以考虑的元素开始只为垂直滚动元素的最近的祖先 与垂直滚动的内容 目的触动。

操作:该用户代理可以 认为元件上开始只为 滚动的宗旨和连续缩放的触摸。通过auto支持 的任何其他行为超出了本规范的范围。

但我不明白这个应用到大多数链接/按钮背后的想法是什么。这是否可以防止使用默认值auto的常见问题?

回答

2

根据站点post,touch-action: manipulation有助于通过消除每个事件检测延迟来防止火灾。例如,当双击屏幕时,双击事件可能会触发,直到300毫秒时touch-action: manipulation未被声明。

短报价:

大多数基于触摸的移动浏览器等待300ms的水龙头在屏幕上,浏览器触发该事件的适当的处理程序之间。它的实现是因为您可以双击将页面缩放为全角。因此,浏览器等待三分之一秒 - 如果您不再点击,则会激活“点击”。

...

微软在PointerEvents 规范中解决了许多基于触摸的问题。例如,如果 用户正在滚动页面,则不会触发指针事件。

还有一个非标准的CSS触摸动作特性,它允许 您取出特定元素的延迟或不禁止捏缩放整个文档 :

一个,按钮,.myelements {。 ..}

我不确定情况,这取决于你是否对屏幕水龙头不满意,所以比较将是一个好主意。