0

Jquery と Jquery モバイルの最新バージョンを含めました。

基本的に、モバイル ボタンを使用して JavaScript 関数を呼び出そうとしていますが、問題があります。

これはクロムでは正常に機能しますが、プレイブックの Webworks では機能しません (ここでエラーが発生します)

<script type="text/javascript" src="js/personSearch.js" ></script>

カスタム JavaScript コードを含める

そのファイル内には、次のコードがあります

    function testme()
{
    alert("tet");
}

私は次のすべての方法を試しました:

<input type="button" onclick="testme();" value="Button" />
<a id="psClear" href="javascript:testme();" data-role="button" data-inline="true">Clear</a>

それらすべてについて、エラーが発生します: mainMenu.html:1ReferenceError: Can't find variable: testme

Jクエリモバイルがボタンをレンダリングする方法に関係していると思いますが、よくわかりません...

アップデート

ページに rel="external" を追加してから javascript にロードして正常に動作するが、すべてのスクリプトを再度リロードし、rel="exnteral" なしでは動作しない場合

    <link  rel="stylesheet" type="text/css" href="css/jqueryMobileCSS.css">
    <link  rel="stylesheet" type="text/css" href="css/customStyle.css">
    <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="js/jqueryMobile.js"></script>
    <script src="js/eBar.js"></script>
    <script src="js/moment.min.js"></script>
    <script src="js/ain.js"></script>
    <script src="js/tleBar.js"></script>
    <script type="text/javascript" src="js/ps.js" ></script>

したがって、rel="external" がないと js/ps.js が読み込まれないようです...両方のページにあるスクリプトはまったく同じですが、新しいページには js/ps,js も読み込まれています..ありがとう

4

1 に答える 1

1

関数の呼び出しにインラインJavascriptを使用しないでください(理由はこちらを参照)。発生しているエラーは、personSearch.jsファイルが読み込まれていないため、関数が存在しない可能性があるという事実に関連しているようです。Chrome/Firebug JS コンソールを使用して、関数が明確に定義されているかどうかを確認してから、次のような内容の別のスクリプトを作成します。

$(document).bind('pageinit',function () {
    $("#psClear").on('click',function(){
      testme();
     });
});

これにより、クリック イベントをボタンにバインドする前に、DOM が読み込まれて準備が整っていることが確認されます。このスクリプトがスクリプトの後にロードされていることを確認してくださいpersonSearch.js

于 2012-07-17T09:57:57.360 に答える