6

jQuery 1.8.3 の操作

<!DOCTYPE html>
<html>
    <head>
        <script src="js/jquery-1.8.3.min.js"></script>
        <script src="js/jquery.mobile-1.3.0.min.js"></script>
        <script>
      $.support.cors = true;
      $.mobile.allowCrossDomainPages = true;

      $("#home").live("pageshow", function( event ) {
        alert( "Ok. This is Home!" );
      });
        </script>
    </head>
    <body>

    <!--- HOME --->
    <div data-role="page" id="home">
    <h2>Hello World</h2>
    </div>
    </body>
</html>

アラートは正常に機能します。

ただし、jQuery 1.9.1 では (バージョンを変更し、"on" で "live" に変更したことに注意してください。

<!DOCTYPE html>
<html>
    <head>
        <script src="js/jquery-1.9.1.min.js"></script>
        <script src="js/jquery.mobile-1.3.0.min.js"></script>
        <script>
      $.support.cors = true;
      $.mobile.allowCrossDomainPages = true;

      $("#home").on("pageshow", function( event ) {
        alert( "Ok. This is Home!" );
      });
        </script>
    </head>
    <body>

    <!--- HOME --->
    <div data-role="page" id="home">
    <h2>Hello World</h2>
    </div>
    </body>
</html>

アラートは機能しません。私は何か間違ったことをしていると確信しています。jQuery Mobile 1.3.0-stable では jQuery 1.9.1 が使用されると読んでいましたが、おそらく私は間違っています。

4

1 に答える 1

12

変化する

 $("#home").on("pageshow", function( event ) {

  $(document).on("pageshow", "#home", function( event ) {

の構文は の構文とon同じではありませんlive: イベントを受け取ってデリゲートする要素は、バインディングを作成するときに存在している必要があります。

于 2013-03-17T18:36:18.973 に答える