PhoneGap - 在onDeviceReady事件之后DOM不会更新

时间:2014-08-20 10:58:03

标签: javascript jquery events dom cordova

我对PhoneGap中的onDeviceReady事件有疑问。

当我的应用程序启动时,我使用jQuery.text()动态填充一些字段,然后我启动一个动画进度条。

在没有收听事件的情况下对其进行测试(但在app.initialize()中编写代码),一切正常。

使用事件,后面的代码可以工作,但DOM不会更新。

我尝试使用这个jQuery代码行:$('.page').trigger('refresh'); 除了动画进度条之外,它工作得很好。

jQuery.trigger('refresh')是一个干净的解决方案吗? (我想不!)

我怎么能解决这个问题?

谢谢!


以下是代码:

var app = {

    dateP: "",

    initialize: function (date) {
        dateP = date;
        //this.actions();
        this.bindEvents();
    },

    bindEvents: function () {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },

    onDeviceReady: function () {
        app.receivedEvent('deviceready');
    },

    receivedEvent: function (id) {
        if (id == 'deviceready') this.actions();
    },

    actions: function () {

        var date = this.getDate();

        var id = this.getDayId(date);
        var perc = Math.ceil((id / 365) * 100);

        this.shareButtonInizialize();
        this.fillDivs(new Date());

        $("#mainDayCounter").text("Giorno #" + this.getDayId(date));
        $("#dayCounter").text("Giorno #" + this.getDayId(date));

        this.setBar(perc);
    },

    setBar: function (perc) {
        $("#main-page #probar").attr({
            "data-pro-bar-percent": perc,
                "data-pro-bar-text": perc + "% \xa0"
        });

    },

    /* OTHER FUNCTIONS */

}

0 个答案:

没有答案