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

Implications of having multiple $(document).ready functions across multiple js files

本文关键字:ready 函数 document 文件 js      更新时间:2023-09-26

可能重复:
JQuery-多个$(文档(。准备就绪…

拥有多个javascript文件,每个文件都有自己的$(document(.ready函数,这意味着什么?

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

要解决javascript作用域问题,只需在$(document).ready();块之外定义交叉准备的事件变量。

所有函数都将按绑定顺序执行。请参阅jQuery文档:

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

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

所以所有的函数都被执行了,你可以影响它们的执行顺序。然而,我强烈建议不要将任何逻辑建立在执行顺序中,因为这可能会非常脆弱。

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

该函数所做的只是向文档的onload事件添加一个事件处理程序,因此这样做只需让Javascript在加载页面后执行多件事。

就性能而言,它没有缺点。然而,如果所有这些事情都发生在页面加载时,您可能希望有一个init.js文件(或类似的文件(在页面加载后调用所有其他函数。这样一来,一切都在一个地方,更容易管理。

然而,它的可读性和管理性都很好。