我们假设我有一个包含javascript文件的HTML页面:
base.js是这样的:
$(document).ready(function () {
obj.init();
}
// ..............
var obj = {...};
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,有时(并非所有时间)Firebug都会在obj.init()通话时向我显示未定义的错误!我的理解是文档就绪意味着所有html元素,包括图像,javascript文件下载和执行(?).
我相信为了找到这个错误的根本原因,我们需要了解"文件就绪"究竟是什么意思?有谁有洞察力?
============================
更新:也许我不应该在这里提到图像,我主要关心的是javascript文件."完全构建DOM"是否包含"所有执行的javascript代码"?
============================
再次更新:似乎人们同意在所有javascript代码下载并执行之前不会触发事件"document.ready".因此,问题的根本原因仍然未知.我将$(document).ready块移动到javascript文件的底部后,我绕过了这个问题.