在多个js文件中具有多个$(document).ready函数的含义

时间:2011-05-03 18:32:06

标签: javascript jquery

  

可能重复:
  JQuery - multiple $(document).ready … ?

拥有多个javascript文件有什么含义,每个文件都有自己的$(document).ready函数?

4 个答案:

答案 0 :(得分:9)

当多个事物与$(document).ready();绑定时,事件将按照绑定的顺序命中。对此没有真正的负面影响,但请记住,其中一种方法中定义的任何变量都会失去范围,并且在其他事件中将无法使用。

要解决javascript范围问题,只需在$(document).ready();块之外定义交叉就绪事件变量。

答案 1 :(得分:4)

所有功能都将按照绑定的顺序执行。请参阅jQuery文档:

  

当事件到达元素时,将触发绑定到该元素的该事件类型的所有处理程序。如果注册了多个处理程序,它们将始终按照绑定的顺序执行。执行完所有处理程序后,事件将沿着正常的事件传播路径继续。

http://api.jquery.com/bind/

因此,所有函数都会被执行,您可以影响它们的执行顺序。但是,我强烈建议不要在执行顺序中基于任何逻辑,因为这可能证明非常脆弱。

答案 2 :(得分:2)

什么。它们都将附加一个列表,以便在文档准备好时执行。唯一的暗示是它们将按照它们所附的顺序执行。

答案 3 :(得分:0)

该函数所做的就是为文档的onload事件添加一个事件处理程序,因此通过这样做,您只需在完成加载页面后使Javascript执行多个操作。

性能方面没有任何缺点。但是,如果你在页面加载时发生了所有这些事情,你可能希望有一个init.js文件(或类似的东西)在页面加载时调用所有其他函数。这样,它就在一个地方,更容易管理。

然而,besdies的可读性和管理性,完全没问题。