2

http://moobilejs.com/#downloadにアクセスし、Moobile 0.2.1 Boiler Plate (MooTools 上に構築されたモバイル アプリケーション フレームワーク) をダウンロードし、www ファイルを Dreamweaver CS6 に入れ、Phonegap Build Service を実行し、 AndroidフォンでQRコードを読み取り、アプリをインストールしました。

コードに変更を加えていません。これは、アラート ボックスを開く「Hello」というボタンが 1 つあるだけのアプリです。[OK] をタップすると、警告ボックスを閉じることができます。

ブラウザでは問題なく動作します。また、私の Android フォンでは正常に動作しているように見えますが、[OK] をタップしてアラート ボックスを閉じた後、戻ってきて、閉じることができません。初めて Hello をタップしたときに常に発生するとは限りませんが、最終的には常にこの問題が発生します。向きを変更すると消えますが、次に Hello をタップしたときに同じ問題が発生します。

何が原因でしょうか?

編集:ここにビューがあります:

<div class="hello-world-view">
    <div data-role="button" data-name="hello-world-button">Hello World</div>
</div>

これがapp.jsの内容です

if (!window.ViewController) window.ViewController = {};

var HelloWorldViewController = new Class({

    Extends: Moobile.ViewController,

    helloWorldButton: null,

    loadView: function() {
        this.view = Moobile.View.at('templates/views/hello-world-view.html');
    },

    viewDidLoad: function() {
        this.helloWorldButton = this.view.getChildComponent('hello-world-button');
        this.helloWorldButton.addEvent('tap', this.bound('onHelloButtonTap'));
    },

    destroy: function() {
        this.helloWorldButton.removeEvent('tap', this.bound('onHelloButtonTap'));
        this.helloWorldButton = null;
        this.parent();
    },

    onHelloButtonTap: function() {
        var alert = new Moobile.Alert();
        this.view.addChildComponent(alert);
        alert.setTitle('Hello');
        alert.showAnimated();
    }

});
4

1 に答える 1

1

これは、Moobile ScrollView クラスと IScroll に関係しています。

MoobileのJPからの修正は次のとおりです...

1) data-option-scroller="IScroll" 属性を追加して、ビュー要素をスクロールします

<div data-view="Moobile.ScrollView" data-option-scroller="IScroll">

2) app.js ファイルの先頭に次のスニペットを追加します。

Class.refactor(Moobile.ScrollView, { 
options: {
scroller: 'IScroll'
}
});

于 2013-02-07T20:11:36.637 に答える