多くのデバッグを行った後、これら 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 のバグですか?