我可以覆盖ext-all-debug ExtJS常规文件夹中的函数ID吗?我想将此函数覆盖到不同的Javascript文件夹。我该如何定义?
id: function (el, prefix) {
var me = this,
sandboxPrefix = '';
el = Ext.getDom(el, true) || {};
if (el === document) {
el.id = me.documentId;
}
else if (el === window) {
el.id = me.windowId;
}
if (!el.id) {
if (me.isSandboxed) {
if (!me.uniqueGlobalNamespace) {
me.getUniqueGlobalNamespace();
}
sandboxPrefix = me.uniqueGlobalNamespace + '-';
}
el.id = sandboxPrefix + (prefix || "ext-gen") + (++Ext.idSeed);
}
return el.id;
},
答案 0 :(得分:0)
您可以使用
来完成Ext.override
在下面的小提琴中,你可以看到"自定义函数叫"在控制台中,id函数已被覆盖。
POC代码:
Ext.onReady(function () {
Ext.override(Ext, {
id: function (el, prefix) {
console.log("Custom Function called");
var me = this,
sandboxPrefix = '';
el = Ext.getDom(el, true) || {};
if (el === document) {
el.id = me.documentId;
} else if (el === window) {
el.id = me.windowId;
}
if (!el.id) {
if (me.isSandboxed) {
sandboxPrefix = Ext.sandboxName.toLowerCase() + '-';
}
el.id = sandboxPrefix + (prefix || "ext-gen") + (++Ext.idSeed);
}
return el.id;
}
});
Ext.application({
name: 'Fiddle',
launch: function () {
Ext.Msg.alert('Fiddle', 'Welcome to Sencha Fiddle!');
}
});
});