0

I am trying to use jQuery in a highly conflict environment. .noConflict() doesn't work and I am trying to do something like

<script type="text/javascript">
document.write(    document.write(unescape("%3Cscript src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E"));
jQuery.noConflict();
var $ = jQuery;
</script>

Any ideas how to fix this ?

4

2 回答 2

2

您确定这与您拥有以下事实无关:

document.write(    document.write(unescape(...longstringhere...)); // Missing final close paren?

这将导致错误,然后noConflict将无法正常工作。

另外,你需要同时使用 Prototype 和 jQuery 吗?的全部目的jQuery.noConflict()是不要将jQuery变量设置为$因为 Prototype 使用它(我确定还有其他原因,但在这种情况下这是主要的原因)。jQuery 和 Prototype 通常不是好朋友。

最后,您是否绝对肯定(假设您的真实代码中没有语法错误)正在加载 jQuery?


做了一些快速的研究。检查此链接,看看它是否有帮助:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

基本上,您可能必须先调用 jQuery,然后在使用之前调用 PrototypenoConflict()

于 2010-03-02T12:00:41.297 回答
1

不要使用$- 这是冲突的根源。替换jQuery您通常使用它的任何地方,如下所示:

jQuery('#my-id')
jQuery('.my-class')

等等

于 2010-03-02T12:03:31.860 回答