`
pengjj2
  • 浏览: 139439 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

Ext2.02的一些总结

 
阅读更多

最近公司产品需要搞个web聊天,ext写这类东西比较快捷方便,但是由于不想使用收费版本,所以采用2.02的免费版本,很多地方需要自己修正,以后会陆续把在实践中遇到的问题和技巧记录下来。

1、htmlEditor

(1)htmlEditor在弹出框后自动获取焦点,htmlEditor在弹出框中出现时,工具栏是灰色的,需要点击获得焦点和是工具栏激活。一般聊天时希望打开窗口就获得焦点,如果在extDialog.show();之后写focus之类的依旧是拿不到焦点,原因就是,ext的show事件是个延迟的事件,所以需要在show的回调函数中进行处理,如下:

extDialog.show(opener,function(){editor.updateToolbar();editor.deferFocus();});

注意红色字体,不要写成focus(),这个方法没有效果;因为源码里面写的也是deferFocus();

2、ext2.02关于颜色menu和datefield在IE8下显示宽度的修正

Ext.override(Ext.menu.Menu, {
    autoWidth: function() {
        this.width += "px";
    }
});

3、ext.element的滚动条事件的修正

Ext.override(Ext.Element, {
    scrollTo : function(side, value, animate){
     var side = side.toLowerCase();
        var prop;
     switch (side) {
      case "left":
       prop = "scrollLeft";
       break;
      case "right":
       prop = "scrollLeft";
       value = this.dom.scrollWidth - (value + this.dom.clientWidth);
       break;
      case "top":
       prop = "scrollTop";
       break;
      case "bottom":
       prop = "scrollTop";
       value = this.dom.scrollHeight - (value + this.dom.clientHeight);
       break;
     }
     if (value < 0) value = 0;
        if(!animate || !A){
            this.dom[prop] = value;
        }else{
            var to = prop == "scrollLeft" ? [value, this.dom.scrollTop] : [this.dom.scrollLeft, value];
            this.anim({scroll: {"to": to}}, this.preanim(arguments, 2), 'scroll');
        }
        return this;
    }
});

4、修复Ext.grid.CheckboxSelectionModel不能自动判断全选的bug

if (Ext.grid.CheckboxSelectionModel) {
 var interceptOnMouseDown = Ext.grid.CheckboxSelectionModel.prototype.onMouseDown.createInterceptor(
  function(e, t){
   this.on('rowdeselect', this.handleDeselect, this);
   this.on('rowselect', this.handleSelect, this);
  }
 );
 Ext.override(Ext.grid.CheckboxSelectionModel,{
  hd : null,
  onMouseDown : interceptOnMouseDown,
  handleSelect:function(){
   if(this.grid.store.getCount()!=this.selections.length)
    return;
   var hd = Ext.fly(this.grid.getView().innerHd).child('div.x-grid3-hd-checker');
   if(!hd.hasClass('x-grid3-hd-checker-on'))
    hd.addClass('x-grid3-hd-checker-on');
  },
     handleDeselect:function(){
      if( this.grid.store.getCount() != this.selections.length +1)
       return;
      var hd = Ext.fly(this.grid.getView().innerHd).child('div.x-grid3-hd-checker');
      if(hd.hasClass('x-grid3-hd-checker-on'))
       hd.removeClass('x-grid3-hd-checker-on');
     }
   });
}

5、使ext.textField的非空判断能够判断空格

Ext.apply(Ext.form.TextField.prototype, {
 validator : function(text) {
  if (this.allowBlank == false && Ext.util.Format.trim(text).length == 0) {
   return false;
  } else {
   return true;
  }
 }
});

6、给form.labelField添加设置文字的方法,ext2.02无此方法

Ext.apply(Ext.form.Label.prototype,{
 setText: function(t, encode){
        this.text = t;
        if(this.rendered){
            this.el.dom.innerHTML = encode !== false ? Ext.util.Format.htmlEncode(t) : t;
        }
        return this;
    }

});

7、给ext2.02添加两次密码输入验证的验证方法

 Ext.apply(Ext.form.VTypes, {
                password : function(val, field) {
                    if (field.initialPassField) {
                        var pwd = Ext.getCmp(field.initialPassField);
                        return (val == pwd.getValue());
                    }
                    return true;
                },
                passwordText : '两次输入的密码不一致!'
            });

注:initialPassField为第一次密码输入框的ID

0
0
分享到:
评论

相关推荐

    ext2.02文档下载

    在EXT2.02文档下载中,我们主要关注的是"2.1 API Documentation.exe",这是一个离线版的API文档,用于开发者查阅EXT2.02的相关接口和方法。EXT的API文档详细列出了所有可用的类、方法、事件和配置选项,这对于深入...

    ext 2.02 sample包

    ext 2.02 sample包ext 2.02 sample包ext 2.02 sample包ext 2.02 sample包ext 2.02 sample包

    EXT2.02_API

    EXT2.02_API 对方法和属性都有详细的介绍

    Ext Js2.02 api

    这篇文档将深入探讨Ext Js 2.02 API,以及其在开发过程中的应用。 首先,Ext Js的核心在于其组件模型。它包含各种预定义的UI组件,如表格(Grid)、面板(Panel)、窗口(Window)、表单(Form)等,这些组件可以...

    ext 的一些常用方法

    ext 的一些常用方法 ext 的一些常用方法 ext 的一些常用方法

    Ext常用属性总结.doc

    ### Ext常用属性总结 在开发基于Ext JS框架的应用程序时,了解并熟练掌握其核心组件的属性是非常重要的。本文将详细介绍Ext JS中常用的属性及其应用场景,帮助开发者更好地编写高效、可维护的代码。 #### 一、Ext ...

    Ext4.0学习总结及功能详解

    Ext4.0学习总结及功能详解。描述ext各种控件用法,布局等。

    ext离线文档查看插件

    ext2.02插件AdobeAIRInstaller.exe

    ext4.0学习总结及使用说明

    ### ext4.0 学习总结及使用说明 #### 一、引言 随着技术的发展,文件系统的更新迭代显得尤为重要。Linux操作系统中的ext4作为ext3的继任者,不仅继承了其诸多优点,还引入了一系列重要的改进措施,极大地提升了...

    Ext js 学习总结

    个人总结对Ext js 的学习总结,希望对各位朋友有所帮助

    Windows读取Ext4分区的工具 Ext2Read

    总结来说,Ext2Read是一个实用的工具,帮助Windows用户方便地访问和提取Linux EXT分区的数据,扩展了跨平台操作的可能性。不过,在使用过程中,用户应当遵循相应的安全规范,避免对数据造成不必要的损害。

    Ext 学习总结 pdf版

    ### Ext JS 学习总结与理解 #### 一、Ext JS 结构树 在文档的开始部分提到了“Ext JS 结构树”,这部分内容虽然没有给出具体的细节,但我们可以推测这是关于Ext JS框架的整体架构介绍。Ext JS是一个用于构建交互式...

    Extjs2.02 Gridpanel

    【EXTJS 2.02 GridPanel 知识详解】 EXTJS GridPanel 是EXTJS库中的核心组件之一,尤其在EXTJS 2.02版本中,它提供了强大的表格展示和交互功能,对于初学者来说极具学习价值。GridPanel不仅能够处理基本的表格操作...

    在windows下使用Ext2Fsd访问EXT4分区

    但有一些第三方工具可以帮助我们解决这个问题,其中之一就是Ext2Fsd。Ext2Fsd是一个免费的开源软件,专门设计用于Windows系统上读/写Linux的EXT2、EXT3和EXT4文件系统。 **Ext2Fsd的主要功能:** 1. **读写支持**...

    Windows 7下使用Ext2Fsd读取写入Linux Ext3&Ext4分区文件

    3. 安装完成后,不要立即启动Ext2Fsd,而是先进行一些必要的设置。 **配置Ext2Fsd** 1. 打开“控制面板” &gt; “系统和安全” &gt; “管理工具”,找到并运行“服务”。 2. 在服务列表中找到“Ext2FS Driver”,确保其...

    ext3.jar ext使用非常多

    EXT,全称EXT JS,是一种基于JavaScript的开源前端框架,主要应用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。EXT3.jar是EXT框架的一个版本,它包含EXT库的Java版本,通常用于Java Web应用程序...

    Ext一些方法的重写

    在这个主题"Ext一些方法的重写"中,我们将深入探讨如何在`Ext`库中重写方法,以满足特定的需求或优化性能。 `Ext.extend()` 是`Ext`库中的一个核心函数,它用于创建类的继承链。在JavaScript这种没有类的语言中,`...

    Windows读写Ext2/Ext3/Ext4文件系统

    可以读写Ext2,以Ext2方式挂载Ext3文件系统(不支持Ext3日志),不支持中文! It provides Windows NT4.0/2000/XP/2003/Vista/2008 with full access to Linux Ext2 volumes (read access andwrite access). This ...

Global site tag (gtag.js) - Google Analytics