2

phonegap を使用して iOS アプリを作成しています。問題が発生しました。ページ (およびその他の AJAX 関数) が起動された後に、イベント device ready が起動されるようです。

サンプルコード:

Global.init = function() {alert("ready");}
$(function(){
    document.addEventListener("deviceready", Global.init, false);
});
$('#landing').live('pageshow', function(){alert('pageshow')});

アラート「ready」(数秒)の前にアラート「pageshow」が表示されます。デバイスの準備が整った後にすべての JQuery モバイル コードが実行されるようにする方法はありますか?

4

2 に答える 2

1

「pageshow」機能が deviceready イベント ハンドラ内で委任されたら、「pageshow」イベントをトリガーする必要があります。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    $("#details_page").on("pageshow", function() {
        console.log("Hello world!");
    });
    $("#details_page").trigger("pageshow");
}
于 2014-03-08T20:17:31.990 に答える
0

回答はこちらから

deviceready イベントが発生した後にのみコードを実行できることに注意してください。

したがって、デバイスの準備完了イベントでは、次のようになります。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    $(document).delegate("#details_page", "pageshow", function() {
        console.log("Hello world!");
    });
}

#detalis_page がロードする最初のページである場合、デバイスの準備が整う前に最初の「pageshow」が呼び出されないことに注意してください。最初のコードを onDeviceReady() 関数に配置し、各 pageshow の繰り返しコードをデリゲートに配置します。関数。

于 2013-08-22T09:11:25.977 に答える