我正在向使用 Flame.js 的 Ember 应用程序添加 iOS 支持。大多数 Flame.js 小部件目前没有内置的触摸事件支持,所以我正在努力将它添加到我需要的小部件中。对于单击和某些状态转换,我已经得到touchStart
并且touchEnd
工作得很好。
然而,touchMove
到目前为止一直一团糟。我需要它来拖动,为此我需要跟踪运动的开始位置和位置。到目前为止,我还无法始终如一地从touchMove
. 各种 资源表明我应该在event.touches
数组中查找我的数据,但是到目前为止我构建的 jsFiddlesTypeError
在我尝试进入length
该数组时都会抛出,他们声称这是未定义的。(通常的查看位置、event.pageX
、event.pageY
等也未定义。)
我正在使用 iPad 和Phantom Limb进行测试,使用后者我可以通过访问来获取数据originalEvent
,但这在实际的 iPad 上不起作用,我认为因为该originalEvent
属性是 Phantom Limb 工作方式的人工制品. (我的理论是访问是访问Phantom Limb 转换为originalEvent
的原始文件。)mouseMove
touchMove
为什么event.touches
数组对我来说是未定义的?更重要的是,我在哪里可以获得触摸位置数据以便我可以拖动?
这是我最具代表性的 jsFiddle。单击该按钮以获取一个面板,如果这有效,您可以通过拖动其标题栏来重新定位它。App.TestPanel 中的titleView
Flame.State 扩展覆盖了 Flame 本身的原始状态。