2

だから私はasp.netmvc4jquerymobileアプリケーションを持っています。ページAにはページBへのリンクがあります。Pag​​eB.cshtmlファイルの下部に、次のコードがあります。

<script type="text/javascript">

    console && console.log("portalUser (index) raw!!");

    $(document).live('pageload'), function () {
        console && console.log("portalUser (index) pageload!!");
    }

    $(document).live('pageinit'), function () {
        console && console.log("portalUser (index) pageInit!!");
    }


    $(document).live('pageshow'), function () {
        console && console.log("portalUser (index) pageshow!!");
    }


    $(document).live('pagechange'), function () {
        console && console.log("portalUser (index) pagechange!!");
    }

    $(document).ready(function () {
        console && console.log("portalUser (index) document ready!!");
    });

</script>

PageAから(jqmのajaxロードを介して)アクセスすると、コンソールログには次のように表示されます。

portalUser (index) raw!!
portalUser (index) document ready!!

PageBで直接アクセスした場合:

portalUser (index) raw!!
portalUser (index) document ready!!

まったく同じ!さて、jqm自身の内部ドキュメント$(document).live(....); to create these bindings.... but my tests show thatによると、 $(document).ready(function(){}` を使用する必要があります...

それで、私は何か間違ったことをしましたか?私は何が欠けていますか?ありがとう!

4

1 に答える 1

1

まず、コードにエラーがあります。通常のjQuery Mobileページイベントはすべて終了);していません。これが、コンソール出力がない主な理由です。

もう1つ、関数liveは非推奨になりonました。代わりに関数を使用してください。それについては、他の記事で詳しく調べてください。透明にするために、それは私の個人的なブロブです。または、ここで見つけてください

コードの実際の例を次に示します。http://jsfiddle.net/Gajotres/QGnft/

$(document).on('pagebeforeshow', '[data-role="page"]', function(){       
    console && console.log("portalUser (index) pagebeforeshow!!");    
});

$(document).on('pageload', '[data-role="page"]', function(){    
    console && console.log("portalUser (index) pageload!!");
});

$(document).on('pageinit', '[data-role="page"]', function(){    
    console && console.log("portalUser (index) pageInit!!");
});

$(document).on('pageshow', '[data-role="page"]', function(){    
    console && console.log("portalUser (index) pageshow!!");
});

$(document).on('pagechange', '[data-role="page"]', function(){    
    console && console.log("portalUser (index) pagechange!!");
});

$(document).ready(function () {
    console && console.log("portalUser (index) document ready!!");
});
于 2013-02-27T12:32:22.977 に答える