我已将多个文件中的多个函数附加到 $(document).ready 并希望将单个函数附加到它们之前作为 $(document).ready 处理的第一个函数或在 $(document) 之前独立触发.ready 处理程序。
有什么方法可以处理 jQuery 作为 jQuery.fn.ready 的一部分在内部触发的函数的顺序,或者挂钩在 jQuery.fn.ready 之前调用的函数。
在第 3 方脚本中编辑 jQuery.fn.ready 是安全的吗,还是会在其他第 3 方插件中造成可怕的连锁反应(除了自己编辑 jQuery.fn.ready 的插件)
[编辑]:
举个例子
$(document).ready(function b() {});
....
$(document).ready(function a() {/* optional setup*/});
....
$(document).ready(function c() {});
函数 a 需要首先发生,与顺序无关,但只在几页上被调用。我不能保证 b 或 c 的顺序,所以我不能在 b 或 c 的开头触发自定义事件来触发 a。
所以我想要一个通用的解决方案,我可以用它来强制将 a 放在 jQuery 内部 readyList 的开头或挂钩到 jQuery 的 ready 函数并安全地编辑它,以便它在 readyList 中的任何其他函数之前调用 a。
[进一步编辑]
如果可能的话,我宁愿不必重新设计 javascript 代码执行顺序,也不必触及除函数 a() 之外的任何其他代码。我知道重组可以让我解决这个问题,但我宁愿只写一个函数,比如
$.beforeReady(function a() {});