在加载/执行所有JS文件后,jQuery ready()是否会触发

时间:2013-03-26 14:05:54

标签: javascript jquery

我有一些直接执行函数的JS文件。 它是通过模块模式完成的(在此描述:// http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth)。 所以这实际上意味着我们有一个匿名自调用函数来定义我们的对象,所有对象都包含/封装。

似乎这些自调用函数不一定在jquery的ready函数之前执行。

  1. 这是真的吗?
  2. 如果我们有多个具有此模式的文件:

    module_part1.js

        var MODULE = (function (my) {
        my.oneFunc = function () {
        // added method...
        };
          return my;
       }(MODULE));
    

    module_part2.js

        var MODULE = (function (my) {
        my.twoFunc = function () {
        // added method...
        };
          return my;
       }(MODULE));
    

    我们可以确定在jQuery的读取函数中函数Module.twoFunc没有被删除吗?

1 个答案:

答案 0 :(得分:5)

根据定义,一旦DOM加载,document.ready就会执行。 <script>元素是DOM的一部分。当浏览器遇到<script>标记时,它会停止解析页面并下载并执行脚本,然后继续执行下一个元素。因此,在document.ready事件中,将加载所有脚本(属于<script>标记中DOM的一部分)。