2

ajax 呼び出しを介してロードされたページにランダムな回答を実装しようとしています。jquery モバイル インクルーシブ レイアウトを使用しています。したがって、div data-roll コンテナに単純な Java スクリプトを追加し、$(document).live または $(document).on または $(document).bind を介して初期化しました。 . 通常のアラート機能を使用すると、すべて正常に機能します。このような

<script>
    $(document).live('pageinit', "#answerPage", function (event) {
               alert("Page Initialized");
         });
</script>

また、スクリプトを通常の html ページに追加すると、スクリプトは正常に動作します。

そのため、代わりにアラートを使用すると、関数 getanswer() を使用しても機能しません。ここで何が間違っていますか?ご協力いただきありがとうございます。

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Title</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>

    </head> 
<body>

<div data-role="page" id="answerPage" data-theme="b" data-add-back-btn="true">

     <script>
    $(document).on("pageinit", "#answerPage", function(event) {
            function getanswer() {
                    var r_text = new Array ();
                        r_text[0] = "A";
                        r_text[1] = "B";
                        r_text[2] = "C";
                        r_text[3] = "D";
                        r_text[4] = "E";
                        r_text[5] = "F";
                        r_text[6] = "G";
                    var i = Math.floor(7*Math.random());
                    document.getElementById("ShowAnswer").innerHTML = r_text[i];
                    };

          });
     </script>

     <div data-role="header" data-position="fixed" data-theme="b">
         <div id="ShowAnswer"> </div>   

     </div>
</div>
</body>
</html>
4

1 に答える 1

0

関数を呼び出すのを忘れましたgetanswer()...実際の
を参照してください:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Test</title>
  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
  <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
  <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>

<body>
  <div data-role="page" id="answerPage" data-theme="b" data-add-back-btn="true">
     <div data-role="header" data-position="fixed" data-theme="b">
       <div id="ShowAnswer"></div>
     </div>
  </div>

  <script>
    $(document).on("pageinit", "#answerPage", function(event) {
      getanswer();
    });

    function getanswer() {
      var r_text = new Array ();
      r_text[0] = "A";
      r_text[1] = "B";
      r_text[2] = "C";
      r_text[3] = "D";
      r_text[4] = "E";
      r_text[5] = "F";
      r_text[6] = "G";
      var i = Math.floor(7*Math.random());
      document.getElementById("ShowAnswer").innerHTML = r_text[i];
    };
   </script>
</body>
</html>
于 2012-11-15T14:25:22.457 に答える