jquery学习之延迟jQuery的ready事件
网页页面dom加载完成后,我们才会处理一些业务逻辑,但是 有时候我们需要在加载完成之前做一些别的任务,此时,就需要了解延迟ready的事件。
jquery帮助文档概述:
暂停或恢复.ready() 事件的执行。
在$.holdReady()方法允许调用者延迟jQuery的ready事件。这种先进的功能,通常是使用动态脚本加载器,要加载的JavaScript比如 jQuery插件,如额外的ready事件才让事件发生,即使在DOM可能准备。此方法必须早在文件调用,在这样<head> jQuery脚本后,立即标记。ready事件之后调用此方法即使已经发射也将没有任何效果。
要延迟ready事件,第一次调用的$.holdReady(true)。当ready事件应该执行时,调用$.holdReady(false) 。请注意,多个holds可以放在ready事件上,每个$.holdReady(true)逐一调用。ready事件将不会执行,直到所有已发布了相应的一个$.holdReady(false) 和正常的文件准备好条件得到满足。
参考案例:
<body>
<script src="js/jquery-2.1.4.min.js"></script>
<script>
$.holdReady(true);
$.getScript("js/mousetrap.js", function() {
console.log("hold....");
$.holdReady(false);
console.log("hold after....");
});
$(function(){
console.log("ready.....");
});
</script>
</body>
执行结果:hold....
ready.....
hold after....