Javascript jquery函数只包含一次?
我正在用jquery构建单页应用程序。假设我有这样一个边栏Javascript jquery函数只包含一次?,javascript,jquery,html,Javascript,Jquery,Html,我正在用jquery构建单页应用程序。假设我有这样一个边栏 dashboard.html order.html 每次单击它,我都会通过ajax加载内容。它的工作很好,但我来回btw页面我注意到脚本加载了两次或更多。如何解决这个问题?将脚本和HTML放在不同的文件中。然后跟踪是否已加载脚本,不要再加载 var dashboard_js_loaded = false; $("#dashboard").click(function() { $("#content").load("dashbo
dashboard.html
order.html
每次单击它,我都会通过ajax加载内容。它的工作很好,但我来回btw页面我注意到脚本加载了两次或更多。如何解决这个问题?将脚本和HTML放在不同的文件中。然后跟踪是否已加载脚本,不要再加载
var dashboard_js_loaded = false;
$("#dashboard").click(function() {
$("#content").load("dashboard.html", function() {
if (!dashboard_js_loaded) {
$.getScript("dashboard.js", function() {
dashboard_js_loaded = true;
});
}
});
});
也许可以使用像require.js这样的库来更普遍地管理它。或者,您可以编写一个简单的函数,跟踪对象中加载了哪些JS文件。您应该使用AJAX加载HTML内容,只在主页中加载脚本。@Barmar否,如果我的应用程序很大,则会发生冲突,你一次加载所有东西都是浪费时间。在构建没有框架的SPA时,可能需要重复require.js吗?@AliciaBrandon我自己从未使用过它,所以我想不会。但是我还没有写过任何SPA,每个组件都需要不同的JS。如果没有require.JS,我将JS放在htmls中,这是一种不好的做法吗?浪费记忆对吧?假设我有5个选项卡,内存中的函数或变量是缓存的,即使我单击了其他选项卡,是否正确?如果重新加载文件,它将重新定义函数,垃圾收集器将清理以前的定义。我在回答中给了你一个建议。你为什么问我关于其他解决方案的问题?