web-dev-qa-db-ja.com

jQueryプラグイン関数は関数ではありません

私は今まで見たことがない問題を抱えています。非常に新しいWordPressのインストールで、私は友人のレストランのために取り組んでいたテーマをアップロードしました: CornerPocketPub.com

ご覧のとおり、問題は、ホームページ(.cycle)およびメニューページ(.easyAccordion)のjqueryプラグインがFirebugの機能として認識されていないことです。今、私は答えを探し回っていました、しかし私は私のために働く解決策を得るように思えません。

助けてください、そして助けと助言を前もってありがとう!

2
user6674

私はまだこれがjQueryの問題だと言っています。しかし、 WordPressがjQueryのために競合しないモードを必要とすることに注意することは重要です

コーデックスから:jQuery noConflictラッパー

WordPressに含まれるjQueryライブラリはnoConflict()モードに設定されています(wp-includes/js/jquery/jquery.jsを参照)。これはWordPressがリンクできる他のJavaScriptライブラリとの互換性の問題を防ぐためです。

noConflict()モードでは、jQueryに対するグローバルな$ショートカットは利用できません、それであなたはまだ使うことができます:

jQuery(document).ready(function(){
    jQuery(#somefunction) ...
});

しかし、以下はエラーをスローするか、他のライブラリによって割り当てられた$ショートカットを使用します。

$(document).ready(function(){
     $(#somefunction) ...
});

ただし、jQueryではなく短い$が本当に好きな場合は、コードに次のラッパーを使用できます。

jQuery(document).ready(function($) {
    // Inside of this function, $() will work as an alias for jQuery()
    // and other libraries also using $ will not be accessible under this shortcut
});

そのラッパーは、DOMが完全に構築されたときにコードが実行されるようにします。何らかの理由で、DOMのreadyイベントを待たずにすぐにコードを実行したい場合は、代わりにこのラッパーメソッドを使用できます。

(function($) {
    // Inside of this function, $() will work as an alias for jQuery()
    // and other libraries also using $ will not be accessible under this shortcut
})(jQuery);

代わりに、あなたはいつでもjQueryをあなたの選んだ別のショートカットに再割り当てし、$ショートカットを他のライブラリに任せることができます:

var $j = jQuery;
5
Chip Bennett