jQuery ready函数处理疑惑

发布于 2022-09-03 13:54:32 字数 233 浏览 13 评论 0

研究2.2.4版本的源码时发现jQuery对象下ready函数使用一个变量(jQuery.isReady)用以记录DMO是否已经ready,尝试多次调用$(function(){})来观察这个变量的作用发觉不管写多少个$(function(){}),completed回调函数只触发了一次,意味着jQuery.ready()也只被触发一次,那写在jQuery.ready函数中的isReady变量不就没有用处了么,为何要用一个变量来记录以防止多次触发呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

余生共白头 2022-09-10 13:54:32

触发前isReady是false,触发的时候先判断isReady是否为false,为false则触发相应的函数,并且设置isReady为true确保不再触发。
机制应该是如此,其他不太清楚麻烦贴一些代码。

纵性 2022-09-10 13:54:32

比如弹出层里有一段js $(function() { alert('add modal') });
这段js执行时,Ready早已触发,这种情况jquery直接调用,不用再等待了,也等不到了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文