4

在旧的 jquery 中,可以在 document.ready 的顶部添加一个函数,如下所示:

$.readyList.unshift(function () {

现在这已经不可能了。还有另一种方法可以将一个功能移到顶部吗?我们的 ASP.NET 页面由不同的控件组成,它们都有自己的 document.ready,因此我目前无法更改它。但我需要一个功能在所有其他功能之前运行。

还有另一种“干净”的方法吗?

4

2 回答 2

4

这里

这是因为 ready 是(并且应该是)一个事件——一些内部结构被暴露的事实是一个错误(我们正在努力纠正这个错误)。正如你所提到的,它是无证的,它的曝光是无意的。

虽然我不确定是什么阻止您使用新的 readyList 编写自己的列表(或扩展 jquery):

var readyList = [func1, func2, func3 ...];

并在以下位置一一执行.ready()

于 2013-07-08T12:49:58.587 回答
3

使用holdready.

来自jQuery

$.holdReady(true);
//your function that must be first...
$.holdReady(false);
于 2013-07-08T12:51:11.463 回答