4

可能重复:
JQuery - 多个 $(document).ready ...?

我的 JS 代码在 jQuery Document Ready IE 中使用 jQuery:

$(function() {

});

我在页面上运行多个 jQuery 脚本,所有脚本都包含在一个$(function() { });中,我有什么理由应该将脚本分解为多个准备好的处理程序?IE:

$(function() {
      // First Script
});

$(function() {
      // Second Script
});

//etc. 

或者可以在一个中包含多个脚本吗?IE:

$(function() {
      // First Script
      //Second Script
      //etc. 
});

我认为一个很好,但我想确保没有理由我应该使用多个。

4

3 回答 3

7

你的脚本中可以有多个document.ready处理程序,jQuery 会在执行之前将它们合并为一个处理程序。但实际上没有必要拥有很多 document.ready 处理程序。一个就够了。如果您始终将脚本放在 DOM 的末尾,就在结束</body>标记之前,您不需要使用任何 document.ready 处理程序。

例如:

<html>
<head>
    <title></title>
    ... your CSS references come here
</head>
<body>
    ... the markup of the body comes here ...

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        // you don't need to use any document.ready handlers here =>
        // you could directly write your scripts inline or reference them
        // as external resources. At this stage the DOM will be ready
    </script>
</body>
</html>
于 2013-01-06T21:31:10.933 回答
4

它的工作方式完全没有区别。

但是,它对组织很有用。

另一方面,这意味着需要运行更多的 jQuery。

于 2013-01-06T21:31:16.830 回答
0

您可以将所有脚本/函数包装在单个就绪事件中,或者您可以简单地将所有脚本放在 html 之后,然后避免等待就绪事件,因为此时 DOM 已经加载。

<html>
<head>
    <!-- Style sheets Go Here -->
</head>
<body>
    <!--HTML Goes Here -->
    <!-- Scripts Go Here -->
</body>
</html>
于 2013-01-06T21:44:07.267 回答