小编典典

你能有多个 $(document).ready(function(){ ... }); 部分?

all

如果我在启动时有很多功能,它们是否都必须在一个单一的之下:

$(document).ready(function() {

或者我可以有多个这样的陈述吗?


阅读 61

收藏
2022-05-24

共1个答案

小编典典

你可以有多个,但这并不总是最整洁的事情。尽量不要过度使用它们,因为它会严重影响可读性。除此之外,这是完全合法的。见下文:

http://www.learningjquery.com/2006/09/multiple-document-
ready

试试这个:

$(document).ready(function() {
    alert('Hello Tom!');
});

$(document).ready(function() {
    alert('Hello Jeff!');
});

$(document).ready(function() {
    alert('Hello Dexter!');
});

你会发现和这个是等价的,注意执行顺序:

$(document).ready(function() {
    alert('Hello Tom!');
    alert('Hello Jeff!');
    alert('Hello Dexter!');
});

还值得注意的是,一个$(document).ready块中定义的函数不能从另一个$(document).ready块调用,我刚刚运行了这个测试:

$(document).ready(function() {
    alert('hello1');
    function saySomething() {
        alert('something');
    }
    saySomething();

});
$(document).ready(function() {
    alert('hello2');
    saySomething();
});

输出是:

hello1
something
hello2
2022-05-24