防止聚合物指针 - 手势在已经开始时发生,具体取决于手势

时间:2014-05-09 03:19:21

标签: javascript gesture polymer

我正在玩聚合物的指针式手势,我喜欢它们。

然而,轻弹,捏合和跟踪相互干扰。当一个发生时,另一个发生在.addEventListener()

可以识别第一个之前

我想跟踪所有,然后捏,然后轻弹。

因此,如果赛道正在发生,那就让它发生吧。如果发生捏合,除非轨道开始或正在发生之前发生。如果轻弹正在发生,只要一个轨道既没有开始也没有在它之前发生,就让它发生。

这样做的正确方法是什么?我愿意编辑手势的.js文件。既然是polyfill,它不会依赖我的polyfill。或者官方的,最终的本地实现是否会覆盖它。或者指针事件只是正式实现而不是指针式手势?

我怎么想这样做是在轨道发生时将布尔设置为假,然后如果发生夹点并且布尔值为假,则由于夹点没有发生任何事情。如果发生捏合,则将另一个布尔值设置为false,如果发生轻弹,并且仅当两个布尔值都为真,则允许轻弹。 对我来说似乎很笨拙。是否有更简单/更优雅的方式来做到这一点?

1 个答案:

答案 0 :(得分:2)

手势库不是polyfill,只有一组我们认为有用的手势。 PointerEvents规范明确声明他们不会设计任何更高级别的手势。

我认为你在使用多点触控捏合时取消跟踪有一个很好的观点,因为否则会让人感到困惑。

Flick应始终位于跟踪事件之后,因为它仅在指针释放后才会触发。