2

你们如何解决 Jquery 插件之间的冲突。冲突是两个或多个 Jquery 插件(例如文件上传插件)单独正常工作但在包含第二个插件时导致错误或意外行为的情况。

我现在有这个问题,我正在考虑使用 iframe 将我的页面部分与其他部分隔离开来。但我想尽可能避免这种情况以解决这些冲突。

审核插件代码是不可行的,因为它有大量的代码,并且需要考虑较短的开发时间。

我不能使用 jquery.noConflict 因为我必须触发它,然后在我的代码的任何一行中$替换它。Jquery编辑插件是不可行的。我认为 jquery.noConflict 不适用于插件?它只适用于 javascript/jquery 库?我不是指图书馆。只是像滑块、画廊、文件上传器等插件。

我用了:

(function($) {
jQuery.noConflict();

});

已经..

4

2 回答 2

1

在网上搜索了一番后,我找到了一些资源

  1. jQuery插件冲突

  2. 如何解决这个 jQuery 插件冲突?

  3. http://forum.jquery.com/topic/jquery-plugins-conflict

最后一个 http://www.jotform.com/help/130-Fixing-Jquery-Plugin-Conflicts-jCarousel

似乎每个人都建议使用noconflict,但除了最后一个说它有效的人 - 我看不出它应该有效的原因,因为在文档中JQuery 解释说它适用于不使用 JQuery 但与它发生冲突的库. (请参阅我在此处粘贴的第三个资源)。

无论如何,似乎最好的选择是深入研究代码并对其进行修改。

于 2012-08-24T19:34:42.613 回答
0

我遇到了 jquery 冲突的问题,但我的情况是我也使用了prototype.js。我为此制定了一个解决方案。如果有帮助,这里是一个指针结帐。

当某些其他插件也使用“$”时,会发生 jquery 冲突。因此我们需要定义jQuery.noConflict

以便在这种情况下使用其他引用“jQuery”调用所有方法。

尝试在页面上包含脚本文件,如下所示。

  1. 包括所有 jQuery 文件(依赖于 jquery 的库和所有插件)。
  2. 触发 jQuery.noConflict();
  3. 包括所有其他库/插件。
  4. 在调用 jquery 方法的任何地方都使用“jQuery”而不是“$”

希望这可以帮助你..

于 2012-08-24T20:42:00.887 回答