如何检测 Windows 8 Metro 应用程序中的多点触控操作?
我现在正在开发一个地铁应用程序,我希望启用多点触控。我浏览过谷歌,但似乎找不到任何API来支持它。有人可以为我指明在 Windows 8 Metro 应用程序中支持多点触控操作的正确方向吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你到底想做什么?每个 UI 元素上都有触摸、指针(触摸/鼠标/手写笔的抽象)和操作事件
What exactly are you trying to do? There are Touch, Pointer (an abstraction around touch/mouse/stylus), and Manipulation events on every UI element
在 JavaScript 中,您可以使用 event.pointerId 来检测多个触摸输入。该标识符为每个新输入提供一个 id。当您想要通过手指移动获得多次触摸时,可以使用 MSPointerMove 事件和此 id。我正在使用 jQuery,但绑定和取消绑定功能不起作用,因为未附加事件。您必须使用纯 Javascript 才能实现多点触控工作:
以下是一个完整的示例,其中使用 foreach 将事件处理程序附加到多个按钮。如果您启动此应用程序,您将获得 4 个可以用多个手指移动的方块。
通过这种方法,您可以同时使用 4 个手指。
In JavaScript you can use the event.pointerId to detected multiple touch inputs. This identifier gives every new input an id. When you want to get multiplie touches for a move with the finger, you can use the MSPointerMove Event and this id. I'am using jQuery, but the bind and unbind function won't work, because the event isn't attached. You have to use plain Javascript to get multitouch working:
Following is a full example with a foreach to attach the event-handlers to more than one button. If you start this application you will get 4 squares that you can move around with multiple fingers.
With this approch, you can use 4 Fingers at the same time.
看看这篇文章 IE10 和 Metro 风格应用程序的触摸输入
帖子中的示例脚本:
Take a look at this post Touch Input for IE10 and Metro style Apps
Sample script from post:
尝试任何控件的 ManipulationDelta...
您可以通过确定任何操作事件参数的 Scale 属性来确定触摸是否是多点触摸...
希望它会对您有所帮助...
Try ManipulationDelta of any control...
you can find whether a touch is multitouch or not by detrmining the Scale property of any manipulation event args....
hope it will help you...