jQuery .Noconflict问题

时间:2009-06-30 01:58:54

标签: javascript jquery

我有一个问题,我无法解决,它让我疯了。我正在使用jQuery库,我正在使用“.noconflict”。

我试图在我的博客上使用以下脚本 -

http://www.internetmarketingmonitor.org/word-press-plugins/imm-glossary-wordpress-plugin

问题是 - 我一直收到以下错误 -

>  [Exception... "Component returned failure code: 0x80070057
> (NS_ERROR_ILLEGAL_VALUE) [nsIDOMXPathEvaluator.evaluate]"  nsresult:
> "0x80070057 (NS_ERROR_ILLEGAL_VALUE)"  location: "JS frame ::http://myblog.com/wp-content/plugins/IMM-Glossary/JavaScripts/prototype.js
> :: anonymous :: line 1081"  data: no]
> Source:http://myblog.com/wp-content/plugins/IMM-Glossary/JavaScripts/prototype.js

有什么不合理的是我正在使用.NOCONFLICT? - 只需下载此插件并将* .js放在与jquery相同的页面上即可轻松复制错误?

有人能帮忙吗?

4 个答案:

答案 0 :(得分:5)

我查看了源代码,但现在没有在页面上看到jQuery。

根据您对原始问题的评论,听起来您并没有积极地启动noConflict功能。你需要做类似的事情。

<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript">
    jQuery.noConflict();
</script>

你会注意到对jQuery.noConflict的调用是 not 包装在任何类型的DOM就绪检查中。您希望在包含jQuery之后立即运行它以保证安全。

答案 1 :(得分:2)

$也被其他javascript框架使用。所以当你有两个时,就会出现问题。 jQuery与其他框架很好地配合,你只需要调用noConflict函数:

<script type="text/javascript" src="..."/>
<script type="text/javascript">
  jq=jQuery.noConflict();
</script>

现在您可以使用上面创建的别名来调用jquery函数:

 <script type="text/javascript">
    jq(document).ready(function(){alert(jq);});
 </script>

答案 2 :(得分:1)

我发现了一种修复我的jquery冲突的轻微alt方法,我希望可以帮助其他人。

就像在这个页面上我做了

  JQ = jQuery.noConflict(真); 调用jquery.min.js之后

只是。然后我做了一个

  JQ = jQuery.noConflict(假);

在我的实际脚本之后使我的页面的lavalamp工作。现在我的lavalamp和侧面导航(导致jquery冲突)都在相处。 :)

可能是一种懒惰的骗子,但我还在这里学习!和合

答案 3 :(得分:0)

感谢您的回复。实际上找到了答案

http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Including_jQuery_before_Other_Libraries

基本上,当发生这种情况时 - 我需要将jQuery脚本放在我的脚本列表中 - 这是主要问题。当jQuery不是第一个脚本时 - 它产生了错误 - 无论我调用.noconflict函数的方式如何。

基本上,jquery脚本需要是第一个调用的脚本,以避免相关的冲突。