UI没有更新'pageinit',可能是时间问题

时间:2013-07-13 01:08:02

标签: jquery-mobile page-init

我的项目有以下.js文件。这是使用jquery 1.9.x和jquerymobile 1.3.1在常规浏览器中运行的。当页面加载且UI未更新时,下面的init函数似乎正在运行。 虽然...... 可以将该功能复制到控制台并运行它,并且UI会按照预期进行更新,因此不正确的文件路径,或UI元素的错误ID,但我怀疑时机。在这种情况下,我也没有使用cordova或手机缺口。

所以,我的问题是,为什么在调用$(document).bind('pageinit', ...)函数时UI不会更新?如果我在init方法中放置一个断点,那么在页面加载时会调用它。有关使用不同事件或方法的任何建议吗?

var simulator = simulator || {};

(function (feedback, $, undefined) { 'use-strict';
    feedback.init = function () {
        $.get('feedback-config.xml', function (data) {
            $('#feedback-to').val($(data).find('email').text());
            $('#feedback-subject').val($(data).find('emailSubject').text());
            $('#feedback-display').html($(data).find('message').text());
            $('#feedback-form').attr('action', $(data).find('serverurl').text()).ajaxForm({success: function () {
                alert("Thank you for your feedback!");
            }, error: function () {
                alert("We're having difficulties sending your feedback, sorry for the inconvenience.");
            }});
        });
    };
}(simulator.feedback = simulator.feedback || {}, jQuery));

$(document).bind('pageinit', function () { 'use strict';
    simulator.feedback.init;
});

提前致谢。

1 个答案:

答案 0 :(得分:0)

发现它,简单的错误......在'pageinit'函数中我调用simulator.feedback.init;而不是simulator.feedback.init();不确定为什么JSLint最初没有选择它,但它指出了我稍后再试一次。感谢。