Защо приложението, създадено с Phonegap и Moobile, понякога замръзва при предупреждение?

Отидох на http://moobilejs.com/#download, изтеглих Moobile 0.2.1 Boiler Plate (който е рамка за мобилно приложение, изградена на MooTools), поставих www файловете в Dreamweaver CS6, стартирах Phonegap Build Service, сканирах QR кода с моя телефон с Android и инсталирах приложението.

Не съм правил никакви промени в кода. Това е просто приложение, което има един бутон, който казва Здравей, който отваря поле за предупреждение. Можете да отхвърлите предупредителното поле, като докоснете 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();
    }

});

person aharris88    schedule 30.01.2013    source източник


Отговори (1)


Това е свързано с класа Moobile ScrollView и IScroll.

Ето поправката от JP в Moobile...

1) Добавете атрибута data-option-scroller="IScroll" към елементите на изгледа за превъртане

пример <div data-view="Moobile.ScrollView" data-option-scroller="IScroll">

2) Добавете следния фрагмент в горната част на вашия файл app.js.

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

person James G    schedule 07.02.2013
comment
Не мисля, че използвам scrollview. Редактирах въпроса си, за да включа изгледа. - person aharris88; 08.02.2013