与 2 个 JavaScript 文件冲突
我是 javascript 新手,所以我尝试使用两个 jQuery 插件,但它们不能正常工作。只要我删除其中两个之一。
我该如何解决这个问题?我可以粘贴两个 .js 文件,但那是 2k 行代码,我不想用这么多行代码打扰您。
或者,如果您知道某些具有某些功能的插件,也会有所帮助 =)
-- 更新:
谢谢你们, (我无法在您的答案中添加评论(我真的不知道为什么),该网站存在一些问题。) @Mörre 我注意到,当我在 AJS.js 中删除这一行时,它可以工作(部分):
AJS.exportToGlobalScope();
但在那之后我不知道该怎么办,对不起,我是 javascript 新手,你说的很多东西我都不明白。
@Jim,我没有找到任何:
$(document).ready(function() { });正如你所说,用 jQuery 替换。
我尝试用“jQuery”替换所有“$”,但仍然不起作用。
I'm new with javascript, so i'm trying to use two jQuery plugins, together they don't work properly. Just if i remove one of two.
How can i resolve this problem ? I could paste both .js files, but that is 2k lines of code, I don't want bother you with so many lines of code.
Or if you know some plugin that do some functionality, will help too =)
--
UPDATE:
Thank you guys,
(i'm not able to add comment in your answers (i really don't know why), some problem with the site.)
@Mörre i noted when i remove this line in AJS.js it works (part of it) :
AJS.exportToGlobalScope();
But after that I don't know what to do, sorry guys, I'm new in javascript so many things that you said I don't understand.
@Jim, i don't find any:
$(document).ready(function() {
});
the replace by jQuery as you said.
I try to replace all '$' by 'jQuery', and still doesn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Valter,
您可能会发现 $ 别名发生冲突。如果您使用完整的
jquery 别名
显式引用jquery
对象,而不是:尝试:
更改任何
$
引用, 您可能会得到它的工作使用自动完成库时,将其添加到客户端代码中的jQuery
中。只是一个想法,如果它与这个“区域”有关
Valter,
you may find that there's a collision on the $ alias going on. you'll possibly get it to work if you explicity reference
jquery
object using the fulljquery alias
i.e rather than:try:
change any
$
references tojQuery
in the client code when using the autocomplete lib.just a thought if it's in relation to this'area'
简要查看代码后,无需进一步检查,AJS 代码首先将所有内容放入全局对象 AJS 中,然后将该对象的每个属性导出到全局命名空间中。不良行为。第一个是常规 jQuery 插件。建议:不要使用 AJS,或删除对全局空间的导出(然后只需通过在 AJS 方法前面加上“AJS”前缀来调用它们)。
Without checking any further after looking at the code briefly, the AJS code puts everything in a global object AJS at first - but then exports every single property of that object into the global namespace. Bad behavior. The first one is a regular jQuery plugin. Recommendation: Don't use AJS, or remove the export to global space (you then just call AJS methods by prefixing them with "AJS.").