Flame.js を使用する Ember アプリケーションに iOS サポートを追加しています。現時点では、ほとんどの Flame.js ウィジェットにはタッチ イベントのサポートが組み込まれていないため、必要なものに追加する作業を行っています。クリックと特定の状態遷移については、問題なく動作していますtouchStart
。touchEnd
しかし、touchMove
これまでのところ混乱しています。ドラッグするために必要です。そのためには、動きが始まった場所と現在の場所を追跡する必要があります。これまでのところ、 からすべての情報を一貫して取得することはできませんでしたtouchMove
。さまざまな リソースは、データの配列を調べる必要があることを示唆していevent.touches
ますが、これまでに作成した jsFiddles は、その配列TypeError
を取得しようとするとすべてスローさlength
れ、未定義であると主張しています。(通常のevent.pageX
、event.pageY
、 などの場所も定義されていません。)
私は iPad とPhantom Limbでテストしており、後者では にアクセスしてデータを取得できましたが、実際の iPad では機能しません。属性は Phantom Limb の動作のアーティファクトであるoriginalEvent
ためだと思いますoriginalEvent
. (私の理論では、アクセスはファントム リムが に変換されたoriginalEvent
オリジナルにアクセスすることです。)mouseMove
touchMove
event.touches
配列が定義されていないのはなぜですか? さらに言えば、ドラッグできるようにタッチ位置データをどこで取得できますか?
これが私の最も代表的な jsFiddleです。ボタンをクリックしてパネルを取得します。これが機能している場合は、タイトル バーをドラッグして位置を変更できます。App.TestPanel の Flame.State の拡張機能はtitleView
、Flame 自体の元の状態をオーバーライドしています。