有什么区别?我有 $(document).ready 函数,它应该检查 extjs 是否已加载,但主要问题是 extjs 没有按时加载并且 $(document).ready 中的东西开始执行,extjs 创建函数会产生主要错误 '无法在 Ext.create("...", {..}) 上执行 undefined' 的创建;线。如果我像这样仔细检查:
$(document).ready(function() {
Ext.onReady(function() {
Ext.create('Ext.Button', {...});
});
});
事情神奇地起作用。现在我正在使用 ext-all.js,它缩小了 ~1.3MB,这是相当大的恕我直言……当他进行第二次检查时,事情神奇地加载了……但我认为这两个功能与它们不同定义建议,因为如果我放另一个 $(document).ready 而不是 Ext.onReady() 行,事情会再次中断。我认为 Ext.onReady({});函数执行一些 $(document).ready() 不执行的其他黑魔法,如果有人知道这种魔法是什么,我很感兴趣?
因为它有效而且我不知道为什么这让我很痛苦。
感谢阅读这篇文章。 =) 附言。我使用 ExtJS 大约一天了,所以我对它还很陌生。
最佳答案
不,它们不一样,第一个将在加载 jQuery 库时触发,Ext.onReady(.. 将在加载 ExtJS 库时触发。
如果你想把它们结合起来,你可以这样做:
var extReady = false;
var jQueryReady = false;
var librariesReady = function () {
if (jQueryReady && extReady) {
//They're both ready
}
};
$(document).ready(function () {
jQueryReady = true;
librariesReady();
});
Ext.onReady(function () {
extReady = true;
librariesReady();
});
关于javascript - Ext.onReady() 与 $(document).ready(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14601054/