最近公司产品需要搞个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
分享到:
相关推荐
在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包
EXT2.02_API 对方法和属性都有详细的介绍
这篇文档将深入探讨Ext Js 2.02 API,以及其在开发过程中的应用。 首先,Ext Js的核心在于其组件模型。它包含各种预定义的UI组件,如表格(Grid)、面板(Panel)、窗口(Window)、表单(Form)等,这些组件可以...
ext 的一些常用方法 ext 的一些常用方法 ext 的一些常用方法
### Ext常用属性总结 在开发基于Ext JS框架的应用程序时,了解并熟练掌握其核心组件的属性是非常重要的。本文将详细介绍Ext JS中常用的属性及其应用场景,帮助开发者更好地编写高效、可维护的代码。 #### 一、Ext ...
Ext4.0学习总结及功能详解。描述ext各种控件用法,布局等。
ext2.02插件AdobeAIRInstaller.exe
### ext4.0 学习总结及使用说明 #### 一、引言 随着技术的发展,文件系统的更新迭代显得尤为重要。Linux操作系统中的ext4作为ext3的继任者,不仅继承了其诸多优点,还引入了一系列重要的改进措施,极大地提升了...
个人总结对Ext js 的学习总结,希望对各位朋友有所帮助
总结来说,Ext2Read是一个实用的工具,帮助Windows用户方便地访问和提取Linux EXT分区的数据,扩展了跨平台操作的可能性。不过,在使用过程中,用户应当遵循相应的安全规范,避免对数据造成不必要的损害。
### Ext JS 学习总结与理解 #### 一、Ext JS 结构树 在文档的开始部分提到了“Ext JS 结构树”,这部分内容虽然没有给出具体的细节,但我们可以推测这是关于Ext JS框架的整体架构介绍。Ext JS是一个用于构建交互式...
【EXTJS 2.02 GridPanel 知识详解】 EXTJS GridPanel 是EXTJS库中的核心组件之一,尤其在EXTJS 2.02版本中,它提供了强大的表格展示和交互功能,对于初学者来说极具学习价值。GridPanel不仅能够处理基本的表格操作...
但有一些第三方工具可以帮助我们解决这个问题,其中之一就是Ext2Fsd。Ext2Fsd是一个免费的开源软件,专门设计用于Windows系统上读/写Linux的EXT2、EXT3和EXT4文件系统。 **Ext2Fsd的主要功能:** 1. **读写支持**...
3. 安装完成后,不要立即启动Ext2Fsd,而是先进行一些必要的设置。 **配置Ext2Fsd** 1. 打开“控制面板” > “系统和安全” > “管理工具”,找到并运行“服务”。 2. 在服务列表中找到“Ext2FS Driver”,确保其...
EXT,全称EXT JS,是一种基于JavaScript的开源前端框架,主要应用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。EXT3.jar是EXT框架的一个版本,它包含EXT库的Java版本,通常用于Java Web应用程序...
在这个主题"Ext一些方法的重写"中,我们将深入探讨如何在`Ext`库中重写方法,以满足特定的需求或优化性能。 `Ext.extend()` 是`Ext`库中的一个核心函数,它用于创建类的继承链。在JavaScript这种没有类的语言中,`...
可以读写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 ...