Ext学习总结
一、
1.同样的程序在IE和FireFox中显示不同
因为Extjs默认字体是11px,11px是一种边缘字体,各种浏览器对其的渲染效果不同。IE渲染和12px相似,而FireFox和10px相似。
2.有些图片无法显示
是因为一张图片显示不出来,这张图片是从http://extjs.com/s.gif上下载的,如果不连网,就无法下载。
解决方案:在js中添加如下语句:
Ext.BLANK_IMAGE_URL="../extjs/resources/images/default/s.gif;,Ext.BLANK_IMAGE_URL是Extjs中定义的一个常量,我们给它重新赋了值。路径根据自己的项目具体情况配置。
3.“部署项目”
以下是最精简的结构,见附件。
不要随便调整各文件的顺序,特别是ext-base.js必须在ext-all.js文件之前!
4. A.superclass.constructor.apply(this)//A类调用父类构造方法
Ext.apply(this,config) //讲第二个参数的成员赋给第一个,不管config有多少个成员。
Ext.apply(this,config)和Ext.applyIf(this,config):
相同的:this中没有的属性而config中有的属性,都会被添加到this中,
不同点:apply会被后者覆盖,而applyIf不会被后者覆盖。
5.消息框——类MessageBox(Msg)
(1)提示框
Ext.MessageBox.alert(String title,String msg,Function fn,Object scope)
参数定义如下:title,标题
msg,要提示的内容
fn,回调函数
scope,作用域,用于指定this指向哪里,一般不用考虑
(2)输入框
Ext.MessageBox.prompt(String title,String msg,Function fn,Object scope,Boolean/Number multiline)
参数定义如下:前四个参数和输入框一样,
第四个参数:为true时,将可以输入多行参数;为数字时,允许指定默认高度(像素)
demo:
extjsPrompt = function(){
Ext.MessageBox.prompt("输入框","请输入你的姓名",function(btn,txt){
Ext.MessageBox.alert("提示框","你点击了"+btn+"按钮,输入内容为"+txt)
},this,300)
}
点确定为ok,点取消为cancel
(3)确认框
Ext.MessageBox.comfirm(String title,String msg,Function fn,Object scope)
(4)自定义提示框
var config = {
title:'自定义提示框',
msg:'这是一个自定义提示框,想怎么搞就怎么搞!',
width:400,
closeable:true,
buttons:Ext.MessageBox.YESNOCANCEL,
icon:Ext.MessageBox.QUESTION,
fn:function(btn,text){
Ext.MessageBox.alert("",);
}
};
6按钮——55页
按钮的一些效果:
pressed:true //使按钮处于被按下的状态
disabled:true //按钮不可用
icon:'btn.jpg' //设置按钮的背景图片,属性值为图片名称
iconCls:'btnId'//同上,属性值为类选择器名称