1

シナリオは次のとおりです。

私はワードプレスの管理者でページを作成しています。Contact Usというページを作成し、エディターまたはWYSIWYGでフォームとボタンを作成しました。フォームの送信に$.postを使用したいと思います。

エディター内:

<form>
    <input type="text" name="txt"/>
    <input type="button" id="btn" value="Save"/>
</form>

page.phpに、次のコードを含めました。

$(document).ready(function(){
    $('#btn').click(function(){
        alert('save');
    });
});

しかし、firebugコンソールに次のようなエラーがあります:ReferenceError:jQueryが定義されていません

これの何が問題になっていますか?それともこれは可能ですか?

4

1 に答える 1

1

このエラー:

ReferenceError:jQueryが定義されていません

jQuery名前空間が定義されていないことを意味します。これは、jQuery libを含めるのを忘れたか、クライアントブラウザーが指定されたアドレスでそれを見つけられなかったか、クライアントブラウザーがjQueryと互換性がないために発生します(このエラーはIE 5.5で表示されます)アドレスが正しい場合でも)。

また、WPの埋め込みjQueryライブラリを使用している場合、WPが自動的にnoConflictモード$に設定するため、グローバルスコープでjQueryを参照するために使用することはできません。ドキュメントから取得:

注:WordPressに含まれているjQueryライブラリは、「競合なし」モードで読み込まれます。これは、WordPressがロードできる他のjavascriptライブラリとの互換性の問題を防ぐためです。

$次のように、エイリアスへのクロージャを作成できますjQuery

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});

埋め込みライブラリを使用するには、を使用してスクリプトも含める必要がありますwp_enque_script

詳細については、この投稿を確認してください。

もちろん、Google CDNからそれを含めてwp_enque_script、スクリプトタグを直接追加/エコーすることで、これらすべてとクロージャのガイドラインをスキップすることもできます。これは私が個人的に行うことですが、私はそうは言いませんでした。:)

于 2012-07-29T02:24:51.837 に答える