2012-07-09 68 views
1

此代码时jQuery的语法?我们什么时候打第一个电话,什么时候打第二个电话?方法执行的顺序是什么?调用方法

回答

2

someMethod1执行立即

someMethod2等待整个页面加载, 包括外部JavaScript文件(其他脚本,或从其他网站),CSS 和其他资源执行代码之前。

$(function() { 
    //run after page loads 
}); 

方法2有时进来的

$(document).ready(function() { 
    // Handler for .ready() called. 
}); 

形式有关的详细信息:http://api.jquery.com/ready/

+0

它实际上绑定到DOM就绪事件,这意味着它在所有资源加载之前触发。所有同步脚本都将在DOM准备好之前执行,但图像可能不会。 – 2012-07-09 06:31:56

3
someMethod1(); 

这可能会在文档准备好之前或之后调用,它不需要jQuery。如果这是在你的页面的末尾,当所有的控件都准备好的时候它会被调用,但如果它在中间,那么它只会知道被渲染的控件。

$(function() { 
    someMethod2(); 
}); 

这是在文档准备就绪并且所有控件已准备好/呈现之后总是调用。这需要jQuery。你可以阅读更多关于准备here。这也将帮助您了解其他函数调用。

1

在脚本块中的陈述在它们发生的次序被执行。如果我们数的行,并插入一个额外的换行或两个,使其更容易谈:

1 someMethod1(); 
2 
3 $(
4 function() { 
5  someMethod2(); 
6 } 
7 ); 

1号线,someMethod1()首先执行。

然后线3,$()被执行,其中所述参数是$()在线路4至6,为了以后响应于所述文档准备事件执行匿名功能$()功能时间表定义的匿名函数。也就是说,匿名函数当时不会执行。

最后,当文档准备好时,执行第4行到第6行的匿名函数,这意味着第5行someMethod2()发生。