与 2 个 JavaScript 文件冲突

发布于 2024-10-20 20:03:48 字数 699 浏览 3 评论 0原文

我是 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

匿名的好友 2024-10-27 20:03:48

Valter,

您可能会发现 $ 别名发生冲突。如果您使用完整的 jquery 别名 显式引用 jquery 对象,而不是:

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

    });
</script>

尝试:

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

    });
</script>

更改任何 $ 引用, 您可能会得到它的工作使用自动完成库时,将其添加到客户端代码中的 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 full jquery alias i.e rather than:

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

    });
</script>

try:

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

    });
</script>

change any $ references to jQuery in the client code when using the autocomplete lib.

just a thought if it's in relation to this'area'

分開簡單 2024-10-27 20:03:48

简要查看代码后,无需进一步检查,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.").

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文