gpt4 book ai didi

javascript - 如何向 Ext Core 添加新方法?

转载 作者:行者123 更新时间:2023-11-29 22:31:19 26 4
gpt4 key购买 nike

请问如何向 Ext Core 添加新方法:

Ext.get('id').myMethod();

它不起作用:

Ext.extend(Ext.Element, {
myMethod: function() {
this.on('click', function() {
alert(this);
});
}
});

最佳答案

(假设您使用的是 ExtJS 3)

不,那不是正确的方法。当我们需要扩展一个类并创建我们自己的类时,我们使用 extend

然后,如果您想添加额外的功能或覆盖一些核心方法,请使用 Ext.override。此操作是永久性的且具有破坏性,因为您可以覆盖任何已定义的方法。当我们想要应用个人修复或全局更改时,我们使用 override(例如覆盖 Ext.form.Field 以提供全局的、可用的和交叉的字段 功能)。

对于您的情况,您似乎想将此方法应用于您从 Ext.get 捕获的所有元素。您只需要覆盖 Ext.Element

Ext.override(Ext.Element, {
myMethod: function() {
this.on('click', function() {
alert(this);
});
}
});

这里给出了一个工作示例:jsfiddle .

请注意,Ext.get 会在成功调用时为您提供 Ext.Element。如果您想创建自定义的 Ext.Element,请务必修改 Ext.get,以便它返回您自己的自定义 Ext.Element ,或提供您自己的自定义函数来获取元素。

干杯!

关于javascript - 如何向 Ext Core 添加新方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com