最近发现head.js图书馆和男孩我很满意,虽然我对一件事情仍然感到困惑。
来自headjs.com:
当脚本到达时,已经触发了“DOM ready”事件,例如$(document).ready()。如果加载的脚本依赖于该事件,请确保您的库可以处理此事件。 jQuery 1.4+有效。
考虑到这一点,如果$(document).ready()中的代码依赖于使用head.js加载的外部脚本,那么设置使用jQuery的页面的最佳方法是什么?
我们可以一起丢失$(document).ready()调用并仍然成功设置事件监听器等依赖于文档准备好的东西吗?例如:
head.js("script1.js", "script2.js", "script3.js", function() {
$('#button').click(function(event) {
alert("clicked");
});
});
或者我们是否要在函数中包装$(document).ready()?
只是想知道最佳做法是什么,以确保在需要的时候一切都准备就绪。
答案 0 :(得分:4)
无论哪种方式都没问题。如果DOM已经完全初始化,则立即调用传递给ready()的处理程序。
对于小性能增益,您可能希望删除ready
处理程序并直接包含代码,除非您依赖于像jQuery $
这样的副作用对象被传递给处理程序。