这里的 W3Schools 网站上发布了一个 jQuery 测验...
http://www.w3schools.com/quiztest/quiztest.asp?qtest=jQuery
问题#16如下,
在文档加载完成之前,哪个 jQuery 函数用于阻止代码运行?
A. $(document).load()
B. $(document).ready()
C. $(body).onload()
我选择答案 A 弄错了。(他们的官方答案是 B。)
我回答了它,以为我知道以下内容,
document.load在页面上的所有内容(包括所有图像)加载后触发
document.ready 仅在 DOM 加载后触发(不一定所有图像都已加载)
我将原始问题的措辞解释为“文档已完成加载”,以包括所有内容(包括所有图像)。毕竟,我认为这就是他们称之为“document.load”的原因。同样,为了使他们的答案正确,您必须得出结论,“DOM”等同于“文档”。这似乎不对,否则为什么将其称为“文档对象模型”(DOM)而不仅仅是“文档”?
尽管 W3School 声称 B 是正确答案,但真正的正确答案是什么?
谢谢你的想法。
旁注:在我的其他相关问题 中引用我自己的评论......
“实际上,我在 jQuery 网站上学习了大部分 jQuery,当我遇到困难时,我会在 StackOverflow 上进行搜索。我主要是在 W3School 上玩测验,因为我正在调查他们获得 jQuery 认证的“先决条件”。我没有认为自己是 jQuery 专家,但我在他们的测验中轻松获得了 95% (19/20)。看到该答案中的不当措辞,我想我会通过在此处发布来确认我已经怀疑的内容。我对这些类型的看法认证现在正在发生变化。”
编辑:
我通知了 W3Schools 这个线程的存在。
编辑2:
当我回答最初的测验问题时,我在想 $(window).load(),因此我的测验答案显然不正确。我相信这个事实没有留下三个多项选择选项作为正确答案。请参阅下面的详细答案。