- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请问如何向 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/
如果有人能为我分解它,让我能理解它,我会非常感激。我知道它用于通过 apply 方法创建新对象。 Function.prototype.new = function () { var args
新版本的HADOOP中有一个方法。http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html#conc
根据支持库变更日志和 Fragment 类文档 ( https://developer.android.com/reference/android/support/v4/app/Fragment.ht
根据支持库更改日志和 Fragment 类文档 (https://developer.android.com/reference/android/support/v4/app/Fragment.htm
执行Async BigJob() 的无限运行任务的正确方法是什么?并且可以根据要求停止 提示:我正在尝试学习 [一种] 新方法来更新我现有的策略。 我有一个简单的程序(测试程序),它有一个开始 和停止
我将解释我的想法:我使用 python 作为谷歌应用程序引擎 + js + css 主项目将存储在 src 文件夹下,如下所示:\src \app <--- 这里是 gae 的所有 python 应用
我是一名优秀的程序员,十分优秀!