`
鹤惊昆仑
  • 浏览: 229088 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext.override在IE下不能重载constructor的原因

阅读更多
下面的代码在firefox、chrome、safari、opera下面都没有问题,在IE下没有反应。
Ext.override(Ext.form.Field, {
	constructor : function(config){
		Ext.form.Field.superclass.constructor.call(this, config);
		this._config = config;
		//alert(this._config);
	}
});

看看Ext.overrid的实现,使用了 for...in列举,这就是原因了--IE下for in是无法列举出constructor的。
override : function(origclass, overrides){
            if(overrides){
                var p = origclass.prototype;
                for(var method in overrides){
                    p[method] = overrides[method];
                }
            }
 },

所以通用的方案如下:
Ext.form.Field.prototype.constructor = function(config){
	Ext.form.Field.superclass.constructor.call(this, config);
	this._config = config;//用于以后克隆某个form域。。。
}
0
0
分享到:
评论

相关推荐

    ext js 4.1apply && override

    通过这种方式,可以在不改变原始类定义的情况下,扩展或替换特定的方法。 ##### 1. 基本用法 `Ext.override`的基本语法如下: ```javascript Ext.override(originalClass, overrides); ``` - `originalClass`: ...

    Ext一些方法的重写

    this.superclass.constructor.call(this, config); // 自定义初始化逻辑 }, customMethod: function() { // 重写父类的方法 } }); ``` 在上述代码中,`ChildClass`是新的子类,`ParentClass`是被继承的...

    Ext.ux.UploadDialog

    The class is ready for i18n, override the Ext.ux.UploadDialog.Dialog.prototype.i18n object with your language strings, or just pass i18n object in config. Server side handler. The files in the queue...

    Ext.DatePicker yearmonth

    在EXTJS库中,`Ext.DatePicker`是一个用于选择日期的组件,通常在网页中用于输入日期或进行日期选择操作。然而,默认情况下,年份和月份的下拉框是并排显示的。根据标题和描述,这个特定的主题是关于如何自定义`Ext....

    Ext grid panel 滚动条位置不变

    特别是在处理实时数据更新的场景下,这一功能可以确保用户在数据刷新后仍然停留在之前查看的位置,提供更好的用户体验。 #### Ext grid panel 简介 Ext grid panel 是Ext JS框架中的一个组件,用于展示表格形式的...

    ExtJs 带清空功能的日期组件

    Ext.override(MyApp.form.field.ClearableDate, { reset: function() { this.setValue(null); this.callParent(); } }); ``` 4. **使用新组件**: 在表单中,我们可以像使用普通DateField一样使用我们的...

    EXT dojochina Ext方法重写.rar

    1. **Override(覆盖)**:这是EXT.js提供的一种机制,允许你在不修改EXT.js源码的情况下,添加、修改或替换现有类的方法。通过创建一个名为`Ext.override`的函数,可以指定要修改的类名,并提供新的方法定义。例如...

    Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法

    在Ext JS库中,`Ext.grid.plugin.RowExpander`是一个扩展插件,用于在网格行中添加可展开的详情区域。在Ext4.2版本中,用户可能遇到一个特定的问题,即`RowExpander`的`collapsebody`和`expandbody`事件无法正常触发...

    Ext核心源码分析.doc

    此外,`Ext.override`是Ext框架提供的一个功能,它允许我们在现有类的基础上添加新的属性和方法,而不会覆盖原有内容。这个函数接收两个参数:原类和一个包含新增属性和方法的对象。 ```javascript Ext.override...

    Ext继承和扩展

    这种机制在不改变原有类结构的情况下,提供了增强或定制已有功能的能力。 例如,我们可能想修改`Ext.Panel`的默认行为,可以在运行时添加一个新方法: ```javascript Ext.override(Ext.Panel, { customBehavior: ...

    opreator-override.zip_override+c++_运算符重载

    "opreator-override.zip_override+c++_运算符重载"这个压缩包文件,显然包含了关于C++运算符重载的详细信息,特别是如何通过`override`关键字来更精确地控制重载。 首先,运算符重载并不是创建新的运算符,而是给已...

    Exjts2.2.1中datefield控件在IE8下显示不全BUG

    ### Exjts2.2.1中datefield控件在IE8下显示不全BUG #### 背景介绍 在使用Extjs2.2.1版本开发Web应用时,可能会遇到一个特定的问题:`datefield`控件在Internet Explorer 8(简称IE8)浏览器中的显示存在问题,具体...

    EXT JS 3.0 Core Class Diagram

    EXT JS 3.0 Core Class Diagram 是一个关于EXT JS库核心类结构的图表,它展示了EXT JS 3.0版本中的主要组件和它们之间的关系。EXT JS是一个强大的JavaScript库,主要用于构建富客户端Web应用程序,其核心功能包括...

    基于extjs的.NET3.5控件Coolite 1.0.0.34580(Preview预览版)

    1. Renamed Coolite.Ext.Web project to Ext.Net 2. Renamed Coolite.Examples project to Ext.Net.Examples 3. Renamed Coolite.Ext.UX project to Ext.Net.UX 4. Renamed Coolite.EmbeddedResourceBuilder ...

    Ext继承和扩展写的例子。

    在JavaScript的世界里,"Ext"通常指的是Ext JS,这是一个用于构建富客户端Web应用程序的JavaScript库。这个库提供了大量的UI组件和强大的数据管理功能。在这个特定的例子中,我们关注的是"Ext继承和扩展",这是Ext ...

    xUtils3.3.6源码

    java // 在application的onCreate中初始化 @Override public void onCreate() { super.onCreate(); x.Ext.init(this); // 这一步之后, 我们就可以在任何地方使用x.app()来获取Application的实例了. x.Ext.setDebug...

    ext checkboxgroup 回填数据解决

    重写 代码如下: //解决checkboxgroup回填数据问题 Ext.override(Ext.form.BasicForm,{ findField : function(id){ var field = this.items.get(id); if(!field){ this.items.each(function(f){ if(f.isXType(...

    annogen-0.1.0.jar

    org.codehaus.annogen.generate.Annogen.class org.codehaus.annogen.generate.AnnogenInfo.class org.codehaus.annogen.generate.AnnogenTask.class ...org.codehaus.annogen.override.ElementId.class

    4.0Ext 概述

    例如,按钮相关的类在Ext4中被分类到src/button/包下,通过新的命名空间进行区分。同时,使用`alternateClassName`属性来支持Ext3遗留项目的平滑过渡。 **新型类系统** Ext4引入了一种新型的类系统,它基于...

    Extjs常用函数和事件.pdf

    1. `Ext.onReady(Function fn, Object scope, boolean override)`:这是ExtJS中的一个关键函数,用于在页面DOM完全加载后执行指定的函数。通常,这是初始化应用程序或创建组件的起点。 2. `Ext.get(Mixed el)`:这...

Global site tag (gtag.js) - Google Analytics