在jQuery中,您可以将所有代码包装在$(function() { ... });
中,并在DOM准备就绪时将其激活,但如果您想将其放在页面中间的某个位置,该怎么办? DOM ready事件是否可能在它处理该代码块之前触发并且它会被遗漏?有没有办法保证它会被解雇?
答案 0 :(得分:6)
您可以在代码中的任意位置放置<script>..</script>
块:
如果你在加载dom时使用.ready()
(或equivalent syntax)来执行代码,无论你在哪里放置{{{},都会在加载整个页面时执行它。 1}}处理程序。
如果您只是将代码放在ready()
标记内,那么只要解析器到达代码的那一点就会执行它。
答案 1 :(得分:3)
不,当DOM未准备好时,DOM就绪事件无法触发。无论您将脚本放在何处,它都会被触发。
答案 2 :(得分:1)
在整个DOM树加载之前,DOM就不会触发,因此它可以正常工作。
此外,如果您在DOM ready已经触发后碰巧执行$(function() { ... })
,那么jQuery很聪明,只会立即执行您的回调。
答案 3 :(得分:1)
不,DOM就绪事件不应该在DOM准备好之前被触发,这意味着它会处理最后一个结束标记并完全构造DOM。
你应该把你的<script>
标签放在页面的任何地方准备jQuery。
答案 4 :(得分:1)
DOM ready事件将在处理该代码块之前触发 只有在浏览器下载整个html页面之前,与Web服务器的连接失败。 在这种奇怪的情况下,dom ready事件将会触发,但是你的内联脚本会失败。