2011-03-05 50 views
3

我是新来的JavaScript,所以我试图使用两个jQuery插件,他们一起工作不正常。只要我删除其中的一个。与2个JavaScript文件冲突

我该如何解决这个问题?我可以粘贴这两个.js文件,但这是2k行代码,我不想用这么多行代码打扰你。

或者,如果你知道一些插件,做了一些功能,将有助于太=)

- 更新:

谢谢你们, (我不能在你的答案中添加评论(我真的不知道为什么),这个网站存在一些问题。) @Mörre我注意到当我在AJS.js中删除了这行代码(它的一部分):

AJS.exportToGlobalScope();

但之后,我不知道该怎么做,对不起,我是新来的JavaScript很多东西,你说我不明白。

@Jim,我没有发现任何:

$(文件)。就绪(函数(){ });

用你所说的替换jQuery。

我尝试用'jQuery'取代所有'$',但仍然无效。

+0

“他们无法正常工作”并没有充分描述您的问题。加载页面时,控制台中是否存在JavaScript错误?插件的各个方面不起作用?是否有页面布局问题?有很多可能性,但你什么也没告诉我们。 – Pointy 2011-03-05 13:06:59

回答

3

Valter,

您可能会发现$ alias正在发生冲突。你可能得到它的工作,如果你明确地使用全jquery alias引用jquery对象即而不是:

<script type="text/javascript"> 
    $(document).ready(function() { 

    }); 
</script> 

尝试:

<script type="text/javascript"> 
    jQuery(document).ready(function() { 

    }); 
</script> 

改变任何$引用在客户端代码jQuery使用时自动完成库。

只是如果它是相对于this'area”

+0

原因是? – 2011-03-05 13:12:40

+2

没有'$ jQuery'变量,你的意思是'jQuery'没有'$' – meouw 2011-03-05 13:13:16

+0

是的:) - 错字,快速手指。改变 - doh!“:) :) – 2011-03-05 13:14:08

2

没有在代码简要照看检查任何进一步思想,AJS代码首先把一切都在一个全局对象AJS - 但是出口的每一个属性将该对象放入全局名称空间中。不良行为。第一个是常规的jQuery插件。建议:不要使用AJS,也不要将导出删除到全局空间(然后您只需通过在AJS前添加“AJS”来调用AJS方法)。