我通过ajax加载一部分html。这部分包含在document.ready上运行的javascript代码。我的理解是不会执行dom ready依赖代码 因为在ajax调用发生之前事件已被触发。
但事实并非如此。我可以看到console.log放在document.ready中。
请解释发生的事情。
提前致谢。
答案 0 :(得分:1)
当某些代码在文档准备就绪后使用$(document).ready(fn)
时,将立即调用回调而不是等待。这是jQuery对.ready()
的具体实现。它可以判断DOM是否已经就绪,或者它是否已经解雇了其他处理程序。
在任何一种情况下,它都会立即调用回调(技术上,它使用短setTimeout()
调用回调),以便它以异步方式触发。