5

多くのデバッグを行った後、これら 2 つのライブラリが衝突しているという結論に達しました。私はそれらを別々にテストし、それらは機能しますが、一緒に使用すると(そして rel 属性が壊れます)

再現方法

  • リンクに rel または $('something').colorbox({rel:'something'}); がある場合
  • $('somethingelse').bxSlider(...);

colorbox (共有オプションだけでなく) のある画像をクリックすると、colorbox は失敗します。

キャッチされていない TypeError: 未定義のプロパティ 'rel' を読み取れません

問題のあるコード行は次のとおりです。

      if (settings.rel !== 'nofollow') {
          $related = $('.' + boxElement).filter(function () {
              var relRelated = $.data(this, colorbox).rel || this.rel;
              return (relRelated === settings.rel);
          });

同様の問題を見つけましたプラグインの競合を避けるために jQuery noconflict を使用しますか? しかし、その効果は異なっていました。しかし、原因は似ているようです。その質問に答えている人によると、問題は bxSlider がカラーボックスによって設定された $.data() を取り除くことです。

だから私の質問は:

  • これを回避する方法はありますか?
  • カラーボックスのバグですか?
  • bxSlider のバグですか?
4

2 に答える 2

0

あなたのコードをもっと見ないと、あなたが何をしようとしているのかわかりません。あなた$('something').colorbox({rel:'something'});は少し奇妙に見えます、そして私はあなたの挿入するクラス、idまたは実際のrel属性値であるかどうかわかりません。カラーボックスのrelオプション(rel:'something')とその動作を確認することをお勧めします。http://www.jacklmoore.com/colorboxを参照してください

これら2つのプラグインを一緒に使用しても問題はありません。jsbinで試してみましたが、エラーなしで正常に動作します。

こちらをご覧ください:http: //jsbin.com/ovucuz/11/edit#javascript,html,live

于 2012-07-15T16:50:31.833 に答える