我最近开始使用jQuery,现在我正在开发一个项目,我正在使用ajax函数并一次又一次地加载相同的库(我已经写过)。并且由于$(document).ready(function(){})
一次又一次地呼叫。如果我一次又一次地加载4次,则意味着一个函数需要4次。
我想清理/未准备/卸载以前的就绪功能并想要准备好新功能。我也试着尝试$(function(){})
。但结果相同。我试图获得任何相应/相关的主题。但是找不到。
如果我找不到这个或没有人可以帮助我。那么我认为我应该将我的一个库拆分/拆分为多个库。
答案 0 :(得分:0)
按预期工作,多个事件注册将相互独立激发。
你可以做一个解决方法:设置一个标志,如果多次调用,它将阻止执行。例如,此页面将加载您的脚本四次,但事件注册只会发生一次:
this is your HTML page
<script>
var alreadyRan = false;
</script>
<script src="yourscript.js?firstload"></script>
<script src="yourscript.js?secondload"></script>
<script src="yourscript.js?thirdload"></script>
<script src="yourscript.js?nextload"></script>
etc.
然后,在yourscript.js:
if (!alreadyRan) { // we declared alreadyRan in the global scope
alreadyRan = true; // won't run on further invocations
// thus the handler will only be registered one time
$(document).ready(function(){
// your onready code
});
}
请注意,将库拆分为仅需要一次并进入重复调用的部分的部分可能更容易,并且只加载该初始部分一次。