1

dojoモバイルドキュメントは、ユーザーがカルーセルアイテムを「選択」したときにantイベントをリッスンする方法を提供します:http://dojotoolkit.org/reference-guide/1.8/dojox/mobile/Carousel.html#handling-the-event -カルーセルアイテムが選択されたとき

しかし、それが移行したときに私は行動を起こす必要があります。それを処理する方法はありますか?

また、ウィジェットのすべての「処理可能なイベント」を見つけることができる場所はありますか?

4

3 に答える 3

1

API Docで読むことができるように、いくつかeventのが実装されています。残念ながら、それらのどれもあなたの正確な要件に一致していないようです。

onNextBtnClick(e)とだけがonPrevBtnClick(e)あなたの方向に進んでいるようです。

-メソッドもありますが、これはそれ自体handleViewChanged(view)を指すのではなく、表示されるデバイスを指すと思いますCarousel(ポートレートモードからランドスケープモードまたはsthへの移行など)。しかし、それはあまり深く文書化されていないので、私はそれが何のためにあるのか正確にはわかりません。

于 2012-12-21T06:21:29.707 に答える
0

次のように、ビューが遷移したときに発行されるDojoトピック「/ dojox / mobile / viewChanged」をサブスクライブして、ビューがカルーセルの子であることを確認できます。

require(["dojo/topic"], function(topic){
    topic.subscribe("/dojox/mobile/viewChanged", function(view){
        if(view.getParent() === myCarousel){
            // a new view inside my carousel has been transitioned to
            ...
        }
    });
});

または、カルーセルが内部で「/ dojox / mobile / viewChanged」をサブスクライブし、handleViewChangedを呼び出すため、実際にhandleViewChangedメソッドに接続できます。

于 2013-01-07T16:18:28.947 に答える
0

Dojoについてもっと学んだ後、私はこれに正しくアプローチしていないことに気づきました。

カルーセルから継承する新しいモジュールを作成します。次に、handleViewChangedメソッドをオーバーライドして(必ずthis.inheritedを呼び出す)、そこで何かを実行するだけです。

于 2014-05-23T14:24:39.220 に答える