从外部调用DOM准备的函数?

时间:2011-03-01 21:51:23

标签: javascript jquery

在jQuery中,您可以将所有代码包装在$(function() { ... });中,并在DOM准备就绪时将其激活,但如果您想将其放在页面中间的某个位置,该怎么办? DOM ready事件是否可能在它处理该代码块之前触发并且它会被遗漏?有没有办法保证它会被解雇?

5 个答案:

答案 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事件将会触发,但是你的内联脚本会失败。