0

ここで何が起こっているのかわかりません。少し混乱しています。

これは私が現在取り組んでいるページです:http://tinyurl.com/a8yuzdt

このページにアクセスすると、すべてが機能しますよね?すべてのスクリプトが正常に実行されています。fancybox jqueryプラグインを除いて、エラーが発生します。

Uncaught TypeError: Object [object Object] has no method 'fancybox'

なんらかの理由でロードされなかったようです。理由はわかりません。jQueryが正しくロードされているかどうかを確認してみました(おそらく、jqueryなどの前にfancyboxスクリプトが含まれていました)。ロードするたびにjqueryのインスタンスが2つ含まれていることがわかりました。2番目のインクルードはwordpressからのものですが、自動的にjQueryが含まれると思います。

問題は、自分のjqueryインクルージョンを削除しても、何も機能しないことです。$コンソールで実行すると、が表示されますundefined。私が実行した場合、私はこれをjQuery取得します:

function (a,b){return new e.fn.init(a,b,h)}

だから私は推測します...それは一種の動作ですが、私がjQuery代わりに使用する場合に限り$ますか?jquery自分で確認し、ページに移動してソースを検索してください。

これを修正する方法はありますか?

4

1 に答える 1

1

jQuery、いくつかのプラグイン(fancyBoxなど)、そして別のjQueryを含めると、以前にロードされたすべてのプラグインが失われます。

編集。私はあなたのページを調べて、それを見つけました

  1. 実際のエラーメッセージは-TypeError: $ is not a function

  2. これは、jQueryが「noConflict」モードで実行されるためです。いくつかの理由で、jQueryファイルの最後の行は-jQuery.noConflict();

したがって、行jQueryの代わりに使用する$か、行を削除する必要がありますjQuery.noConflict();

于 2012-11-06T08:33:02.387 に答える