路透社新闻提要与jQuery的'$'使用冲突
问题描述:
嗨,大家有路透社新闻提要的问题。它阻止我的jquery工作。从我发现谷歌搜索似乎有一个库冲突或加载问题。控制台给人的错误是follws:
Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function
从谷歌搜索,如果你改变$
到jquery
事情似乎都不错,但有另一种解决方案呢?在加载新闻供稿脚本后?我真的不想做一个网站的变化。
我已经建立了jiddle这里:http://jsfiddle.net/Jjj6g/23/
如果删除div
与id=annoying
你会看到test div
增长和收缩,但不是在路透社的饲料放在
我知道这是一个。有点远离墙壁,但任何建议/帮助将不胜感激。
答
你可以将你的代码包装在一个匿名函数中并且马上评估它。这样你只能在这个函数中覆盖一个变量。
例子:
(function($) {
$('.something')...;
}(jquery));
答
这是很常见的错误。通常它意味着不冲突,但你忘了添加一些库。请仔细核对,如果全部使用的库包括的,哪些是重要的,可以通过浏览器访问:
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
HI感谢您的回答大卫,我怎么去包裹里面的脚本。我会做一个文档准备好并将
我的想法是让路透剧本照原样。接下来,使用函数名'jquery'而不是'$'将jQuery添加到页面以避免冲突,然后当您编写代码时,将其包装在函数声明中,如上所述。 =>我在你的jsfiddle中做了。 – David 2012-02-15 20:21:57
我有jquery在整个网站上运行,这将在全网范围内,所以它不是真正的我的选择。如果我必须,我会只将所有$'更改为'jquery',但我正在运行php,所以必须小心。但感谢您的答案。 – Zac 2012-02-15 22:16:22