1

古いバージョンの YUI では、公式の yui Web サイトで読むことができるように、touchevent (touchstart/touchmove/touchend) をシミュレートすることはできません: http://yuilibrary.com/yui/docs/event/simulate.html (No touchイベントセクション)

しかし、YUI の最新バージョン (3.6.0) では、touchevent をシミュレートできるようです。このファイル : http://yuilibrary.com/yui/docs/api/files/event-simulate_js_event-simulate.js.html#l60を見ると、スクリプトに touchevents が実装されています。

そして、この投稿を見れば: http://www.yuiblog.com/blog/2012/08/10/twiy/ ; YUIではジェスチャシミュレーションに関するプルリクエストを受け付けています。

しかし、私がこれを行うと:

 Y.one('mydiv').simulate('touchstart');

私はこのメッセージを持っています:

 Error: simulate(): Event 'touchstart' can't be simulated. Use gesture-simulate module instead.

だから私は「gesturemovestart」を使ってみて、

 Y.one('mydiv').simulate('gesturemovestart');

しかし、私はこのメッセージを持っています:

Event 'gesturemovestart' can't be simulated

では、YUI で touchevent をシミュレートすることが確実に可能かどうかを知っている人はいますか?もしそうなら、なぜこのエラーが発生するのですか?

4

2 に答える 2

2

gitハブhttps://github.com/yui/yui3/blob/master/build/event-simulate/event-simulate.jsのyui3からevent-simulate.jsを参照する と、コメントの725行目にtoucheventsと表示されます。 paramtouchList[このイベントに関連付けられたすべてのタッチを表すTouchオブジェクトのコレクション]を期待します。したがって、Y.one( "#myDiv")。simulate( "touchstart"、{touchs:{PageX:200、PageY:200}});に似たものを試してみると、

タッチスタートイベントをシミュレートする必要があります。

また、タッチイベントとジェスチャーイベントはiOS(2.0以降)で利用できるため、iOSデバイスでテストに合格するはずです。

于 2012-08-23T07:20:20.487 に答える
0

私はついに答えを見つけました。

Y.one( "#myDiv")。simulate( "touchstart"、{touchs:{PageX:0、PageY:0}});を実行できます。ただし、AndroidとiOSシステムの場合のみで、スクリプト(タブレットとスマートフォンで実行)には問題ありません。

YUI3.6.0に更新する必要があります。、使用したい場合。

この投稿を参照すると:http: //yuilibrary.com/forum/viewtopic.php? f = 18&t = 10521、ジェスチャーシミュレーションはYUIの次のバージョン3.6.1に実装されます。

于 2012-08-24T15:54:55.457 に答える