我将多个函数附加到$(document).ready中的多个文件中,并希望附加一个单独的函数在它们之前执行,作为$(document).ready处理的第一个函数或在$(document).ready处理程序之前独立触发。
是否有任何方法来处理jQuery.fn.ready内部触发的函数的顺序,或挂接调用jQuery.fn.ready之前的函数。
编辑jQuery.fn.ready在第三方脚本中进行安全操作吗?除了修改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() {});