关于$ .load()的一个奇怪问题

omg*_*omg 4 javascript jquery load

这是我使用$ .load()加载到DOM的文件:

<script type="text/javascript">
    $('.close').click(function() { alert(1) });
</script>
<div class="close">
    click me
</div>
Run Code Online (Sandbox Code Playgroud)

比如,在我看来,<script> 部件会在加载时自动延迟,这是$ .load()的功能吗?

如果是这样,那是如何实施的?

感觉很棒!

Gab*_*ley 9

我已经阅读了jQuery源码,这是我发现的:

(行号引用未压缩的jQuery 1.3.2)

  1. jQuery.load最终获取响应并调用jQuery html方法并将结果插入其中.(约3267行)
  2. jQuery.html然后调用jQuery append方法.(第488行)
  3. jQuery.append然后domManip使用插入DOM节点的回调函数调用该方法.(第253行)
  4. domManip (在第514行)有点棘手,但最终确实将DOM节点传递给要插入的回调,然后插入DOM节点调用evalScript每个脚本,而不管它们在加载的html中的顺序如何.(第526行).

因此,jQuery确实以延迟的方式执行脚本!

使用来源,卢克.