【发布时间】:2012-02-21 19:41:17
【问题描述】:
如何防止 2 个 .js 文件在我的 html 代码中被覆盖? 我有 2 个 .js 文件,一个用于滚动条,另一个用于下拉菜单。 当我在模板代码中导入这两个文件时,第一个文件将不起作用(第二个文件将覆盖第一个文件)。
我很困惑如何防止这种情况并使两者都能正常工作。
【问题讨论】:
标签: javascript html overwrite
如何防止 2 个 .js 文件在我的 html 代码中被覆盖? 我有 2 个 .js 文件,一个用于滚动条,另一个用于下拉菜单。 当我在模板代码中导入这两个文件时,第一个文件将不起作用(第二个文件将覆盖第一个文件)。
我很困惑如何防止这种情况并使两者都能正常工作。
【问题讨论】:
标签: javascript html overwrite
好吧,覆盖不是正确的词。由于全局变量可能具有相同的名称,它们可能会相互冲突。不看它们就不可能找出问题所在......
jQuery 和 MooTools 以相互干扰而闻名。您应该在您的代码中使用其他任何东西: 在 login.js 文件的开头放置以下行:
var J = jQuery.noConflict();
并为 J 替换每个 $
然后,在 scroll.js 上,您会在最后看到:
window.addEvent('domready', function(){
// -- first example, vertical scrollbar --
makeScrollbar( $('scrollbox'), $('scrollbar'), $('handle') );
});
将 makeScrollbar 行替换为
makeScrollbar( J('#scrollbox')[0], J('#scrollbar')[0], J('#handle')[0] );
它应该可以正常工作,但正如我所说,您应该寻找仅使用 jQuery 或 Mootools 的解决方案
【讨论】: