1

如何将 jQuery 从 noConflict 模式恢复到标准模式。

我想在一侧使用两个版本的 JQuery。

<script type="text/javascript">
  window.jqSite = jQuery.noConflict(true);      
</script>
<script type="text/javascript" src="jquery.new.js" charset="utf-8"></script>

<!-- The following code is using $ and jQuery from jquery new -->
<script type="text/javascript" src="some-script.js" charset="utf-8"></script>

<!-- reverting back to original jquery lib used on the site -->
<script type="text/javascript">
  jQuery.noConflict(true)
  $ = jQuery = window.jqSite;
</script>

使用上面的代码,$ 和 jQuery 变量没有正确解析,我得到错误“$ 不是函数”。

有任何想法吗 ?

4

1 回答 1

0

首先,在一个站点上使用两个版本的 jQuery 听起来是个坏主意,随着时间的推移会导致混乱。是否可以修复 some-script.js 以使用与站点其余部分相同版本的 jQuery?

话虽如此,听起来 $ 和 jQuery 引用错误来自 some-script.js。你能把你的真实代码贴在某个地方让我们看看吗?

我能想到的一个问题是,您应该确保 some-script.js 创建对其 jQuery 版本的新引用,以便它创建的引用 jQuery 的任何函数在 window.$ 之后继续使用 jQuery.new.js 中的 jQuery和 window.jQuery 被重置为 window.jqSite。

于 2012-04-18T07:27:33.740 回答