0

Javascript、jQuery、および jQuery Mobile を使い始めたばかりです。オンラインでチュートリアルを実行しようとしていますが、mobileinit イベント ハンドラに行き詰まっています。コードは次のとおりです。

<script type="text/javascript">
        $(document).bind("mobileinit", function() {
        Notes.testHelper.createDumyNotes();
        Notes.controller.init();
    });
</script>

Notes.testHelper.createDummyNotes(); の前後にアラートを配置すると、アラートが呼び出されます。しかし、Notes.controller.init() の直後にアラートを配置すると、アラートは呼び出されません。これは、その関数でコードが停止したことを意味すると思います。ただし、関数の外側の終了スクリプト タグの直前にアラートを配置すると、そのアラートが呼び出されます。これが私を混乱させる原因です。メソッドがハングし、関数の残りの部分を完了させずに、スクリプトを完了させるにはどうすればよいでしょうか?

余談ですが、最初はこの .bind 関数の周りにスクリプト タグを配置するのを忘れていましたが、html のスタイルは正しく設定されていました。ただし、この関数の周りにタグを配置すると、html が表示されましたが、スタイルが設定されませんでした。

助言がありますか?私が言ったように、私は JavaScript を初めて使用するので、これは言語の実行方法に関する根本的な誤解である可能性があります。

ご協力いただきありがとうございます!

4

1 に答える 1

0

の内容は、イベントがトリガー$(document).bind("mobileinit", function() { ... }されたときに呼び出されます。これは、タグ間のコードが読み取られた後に行われます。これが、終了タグが実行される直前に配置した理由です。mobileinitscriptalertscript

alert(1);終了タグの前、およびのalert(2);後ろに置くと、おそらく and は取得されますが、取得されません。function() {alert(3)createDumyNotes()123

関数でエラーが発生しているという点で、正しい道を進んでいると思いますcreateDumyNotes()try { ... } catch(e) { ... }エラーが発生している場所を特定して特定することをお勧めします(NotesNotes.testHelperが有効なオブジェクトであり、Notes.testHelper.createDumyNotes()が既存の関数であると仮定します。

編集

あなたの関数がcreateDumyNotes()の代わりにあることに気付きましたcreateDummyNotes()。これはスペルミスに過ぎませんか?

于 2012-05-28T01:50:22.623 に答える