如何在document.ready中传递多个函数

问题描述 投票:0回答:2

我想在文档就绪时传递多个函数。

做类似的事情

$(document).ready(myFunction; anotherFunction;);

没用。

如果我添加括号,它实际上会执行该函数。

如果我这样做,它就会起作用

$(document).ready(myFunction);
$(document).ready(anotherFunction);

但是,有没有更好的语法可以一次传递所有函数?

类似

$(document).ready(myFunction, anotherFunction);

谢谢

jquery
2个回答
9
投票

document.ready
采用单个函数作为其参数。因此,无法将所有函数指定为参数列表。您有几种不同的选择可以用不同的方式编写具有相同行为的代码。

  1. 创建一个新函数来包装其他函数
function initialise() {
    myFunction();
    anotherFunction();
}

$(document).ready(initialise);
  1. 使用 jQuery 的
    $(document).ready
    快捷语法
$(myFunction);
$(anotherFunction);

3a) 将它们全部包装在一个传递给 document.ready 的函数中

$(document).ready(function () {
  myFunction();
  anotherFunction();
});

3b) 或者等效地使用快捷语法

$(function() { myFunction(); anotherFunction(); });

1
投票

不幸的是,

.ready
仅在
document
上受支持,并且仅接受one函数作为文档准备好时调用的参数。
但是,您可以多次使用它,但没有必要,只需使用匿名函数包装器即可

$(document).ready(function() {
    myFunction();
    anotherFunction();
});
© www.soinside.com 2019 - 2024. All rights reserved.