0

私は自分のWebサイトで約6か月間プラグインを正常に使用していましたが、突然、スクリプトの1つに「$isundefined」というメッセージが表示され始めました。

これは問題のあるコード行です。$.widget("ui.ImageColorPicker", uiImageColorPicker);

私はこのプラグインと、noConflictが有効になっているほぼ最新のjQueryを使用しています。http://github.com/Skarabaeus/ImageColorPicker 6か月間何も変更しませんでした(jQueryを更新しませんでした)。たった2週間前は問題なく動作したと思いますが、今では突然壊れています。

編集:エラーはなくなりました。サンプルのウェブサイトを削除します。

4

5 に答える 5

5

可変スコープの問題のようです。

最初の行を次のように変更してみてください。

(function($){

そしてこれの最後の行:

})(jQuery);

これを行うことでjQuery、プラグインを囲む無名関数にオブジェクトを渡しますが$、ブロック内のコードとして参照することで、ページの残りの部分でnoConflictモードを維持しながら、「通常の」jQueryを使用して記述できます。

于 2012-05-31T11:39:40.700 に答える
1

これを試してみてください

<script type="text/javascript" src="other_lib.js"></script> //In your case try Imagecolorpicker js
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>

$ .noConflict();を参照してください。

于 2012-05-31T11:33:54.353 に答える
0

まず、jQueryUIが含まれていることを確認します。を使用してみてくださいjQuery.widget。それでも問題が解決しない場合は、次を使用してください。

e = jQuery; // you can use anything else than $

今、あなたはe.widget("ui.ImageColorPicker", uiImageColorPicker); あなたが持っているものの代わりにタイプするべきです。

于 2012-05-31T11:46:16.240 に答える
0

エイリアスjQueryの代わりに明示的なオブジェクトを使用してみてください。 例えば:$

jQuery.widget("ui.ImageColorPicker", uiImageColorPicker);
于 2012-05-31T11:14:36.417 に答える
0

jQuery.Widgetそのページで定義されているようです。の代わりにそれを試してください$.widget

于 2012-05-31T11:28:02.083 に答える