加载bxslider时,colorbox在rel属性上中断

Jor*_*gas 5 javascript jquery colorbox bxslider

经过多次调试后,我得出结论,这两个库正在发生冲突.我分别测试它们并且它们可以工作但是当它们一起使用时(并且有一个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);
          });
Run Code Online (Sandbox Code Playgroud)

我发现了一个类似的问题我是否使用jQuery noconflict来避免插件冲突?但效果却不同.但原因似乎相似.据回答这个问题的人说,问题是bxSlider消除了colorbox设置的$ .data().

所以我的问题是:

  • 有没有解决的办法?
  • 这是彩盒中的错误吗?
  • 这是bxSlider中的错误吗?

Ant*_*los 0

如果没有看到您的更多代码,我无法判断您想要做什么。你$('something').colorbox({rel:'something'});看起来有点奇怪,我无法判断你插入的是类、id 还是实际的 rel 属性值。您可能想查看 colorbox 的 rel 选项(rel:'something') 及其行为方式。请参阅http://www.jacklmoore.com/colorbox

我认为一起使用这两个插件没有任何问题。我在 jsbin 上尝试过,运行良好,没有错误。

亲自查看这里: http ://jsbin.com/ovucuz/11/edit#javascript,html,live