问题 在多个js文件中具有多个$(document).ready函数的含义[重复]


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

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


7786
2018-05-03 18:32


起源

没有?..........不知道你的目标是什么。 - Felix Kling
完全没问题,除非直到不同文件中的两个不同函数依赖或更新相同的变量/组件。评估顺序将是未定义的或依赖于实现的。 - Nitin Midha


答案:


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

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


9
2018-05-03 18:39





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

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

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

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


4
2018-05-03 18:36





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


2
2018-05-03 18:34





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

性能方面没有任何缺点。但是,如果您在页面加载时遇到所有这些问题,您可能希望有一个init.js文件(或类似的东西)在页面加载时调用所有其他函数。这样一切都在一个地方,更容易管理。

但是,besdies的可读性和管理性,完全没问题。


0
2018-05-03 18:34