Ext.KeyNav
Ext的keyNav类能为Ext.Element元素提供简单的按键处理方法
例:
var el=Ext.get("textarea");
new Ext.KeyNav(el, {
??? "left" : function(e){
??????? alert("left key down");
??????? },
??? scope : el
??? }
);
它的行为与KeyMap类似,但功能比KeyMap要弱小的多,只能处理以下已定义键
enter/left/right/up/down/tab/esc/pageUp/pageDown/del/home/end
同情一下KeyNav
方法只有三个,不用多解释
KeyNav( Mixed el, Object config )
disable() : void
enable() : void
Ext.KeyMap类
则强悍的多,其中最重要的当然是对按键的定义更灵活
例:上例用KeyMap来写可能是
var el=Ext.get("textarea");
new Ext.KeyMap(el, {
??????? key:Ext.EventObject.LEFT,
??????? fn: function(e){
??????????? alert("left key down");
??????? },
??????? scope : el
??? }
);
方法
KeyMap( Mixed el, Object config, [String eventName] )
构造,与KeyNav也相似,但更灵活
它是{
key:??????? String/Array,???? //可以是数字,字符,也可以是Ext.EventObject.LEFT这样的助记符,还能是他们组成的数组
shift:?????? Boolean,????????? //ctrl键按下?
ctrl:??????? Boolean,
alt :??????? Boolean,
fn? :??????? Function,???????? //回叫方法
scope:?????? Object????????? //范围
}这样的对象或它们组成的数组
比如{key: 10},{key: [10,13]},{key:'\t'},{key:'abcd'},{key:Ext.EventObject.LEFT}都是合法的定义
addBinding( Object/Array config ) : void
增加新的绑定动作 config参见构造
disable() : void
enable() : void
isEnabled() : Boolean
允许,静止和状态查询
on( Number/Array/Object key, Function fn, [Object scope] ) : void
只添加一个处理时addBinding的快捷方式,但个人感觉并没有简单到哪儿去。
Ext.util.JSON
轮到大名鼎鼎的JSON了,可惜Ext提供的JSON对象功能好弱小,只有encode主decode两个方法
而且只能编码String/Array/Date,至少也要搞个 xml2json/json2xml方法呀
Ext.util.Format
主要提供了一些格式化方法
capitalize( String value ) : String
首字母大写
date( Mixed value, [String format] ) : String
格式化日期输出,还是Date.format方法好用
dateRenderer( String format ) : Function
返回一个利用指定format格式化日期的方法
defaultValue( Mixed value, String defaultValue ) : String
如果value未定义或为空字符串则返回defaultValue
ellipsis( String value, Number length ) : String
如果value的长度超过length的,取前length-3个并用...替代,对中国人来说还是垃圾功能,用的字符串长度不是字节长度
fileSize( Number/String size ) : String
简单的格式化文件长度为 xxxbytes xxxKB xxxMB,没有GB哟
htmlEncode( String value ) : String
htmlDecode( String value ) : String
HTML编码解码,将& <? >? “替换为&<>"
lowercase( String value ) : String
将value转换为全小写
stripScripts( Mixed value ) : String
去除脚本标签
stripTags( Mixed value ) : String
去除HTML标签
substr( String value, Number start, Number length ) : String
取子字符串
trim( String value ) : String
去除开头和结尾的空格
undef( Mixed value ) : Mixed
如果value未定义,返回空字符串,反之返回value本身
uppercase( String value ) : String
转为全大写
usMoney( Number/String value ) : String
转为美元表示
Ext.util.DelayedTask
提供一个setTimeout的简单替代方法
公开的方法也只有三个
DelayedTask( [Function fn], [Object scope], [Array args] )
delay( Number delay, [Function newFn], [Object newScope], [Array newArgs] ) :
cancel() : void
简单的示例用法如果
var task=new Ext.util.DelayedTask(Ext.emptuFn);
task.delay(1000);
task.cancel();
Ext.util.TaskRunner
增强版的DelayedTask,能提供多线程的定时服务,
例:
var task = {
??? run: function(){
??????? Ext.fly('clock').update(new Date().format('g:i:s A'));
??? },
??? interval: 1000
}
var runner = new Ext.util.TaskRunner();
runner.start(task);
四个方法都很简单
TaskRunner( [Number interval] )
start( [Object task] ) : Object
stop( Object task ) : Object
stopAll() : void
Ext.util.TextMetrics
这个类主要是为了准备的得到块状化文本正确的高度和宽度
例:
var metrics=Ext.util.TextMetrics.createInstance('div');
metrics.setFixedWidth(100);
var size=metrics.getSize("中华人民共和国中华人民共和国中华人民共和国中华人民共和国");
Ext.MessageBox.alert("getsize",String.format("width:{0}px\theight:{1}px",size.width,size.height))
方法
bind( String/HTMLElement el ) : void
绑定到el
createInstance( String/HTMLElement el, [Number fixedWidth] ) : Ext.util.TextMetrics.Instance
为el创建TextMetrics实例
getHeight( String text ) : Number
getSize( String text ) : Object
getWidth( String text ) : Number
得到尺寸
measure( String/HTMLElement el, String text, [Number fixedWidth] ) : Object
测算文本text在el中将要占用的尺寸
setFixedWidth( Number width ) : void
设置指定的宽度
Ext.XTemplate
增强型模板,支持更多功能了,虽然方法不多,但用起来来还真的很麻烦,但并不建议大家学习这样的自定义语法,不如用xslt
另外这个Xtemplate虽然命名空间在Ext之下,但源文件却是放在util目录中的
XTemplate( String/Array html )
XTemplate.from( String/HTMLElement el ) : Ext.XTemplate
apply() : void
applyTemplate( Object values ) : String
compile() : Function
这些方法Ext.Template中都有说明,
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/blackant2/archive/2007/11/25/1901694.aspx?
详细解决方案
EXT核心API详解(7)-Ext.KeyNav/KeyMap/JSON/Format/DelayedTask/TaskRunner/TextMetrics/X
热度:542 发布时间:2012-11-23 22:54:33.0
相关解决方案
- (Struts2+JSON+Ajax) XMLHttpRequest ==500如何解决
- json 解析有关问题
- struts2-json中诠注@JSON(deserialize=false)是什么用?不是阻止JSON反序列化成JAVA对象吗?求解
- 请教哪里可以上到 struts2-json-plugin-2.1.8的源文件
- java+jquery easy ui + json + struts分页例子
- ssh json jar 有关问题
- json 有关问题
- AJAX 传递数据如何样才可以是 json
- jquery.load(*json) 解析不已。求帮忙
- JSON,AJAX
- 运行程序时报java.lang.IllegalArgumentException: No line matching interface Clip supporting format PCM_SIGNED, 11025.0 Hz, 16 bit, mono解决方案
- 2中,可是一直发生java.lang.NoClassDefFoundError: net/sf/json/
- json 转成 string解决办法
- json ,Map转json,全部分了
- f.format 简单有关问题
- jquery ajax+json(插件) 提交数据,让人捉摸不透的是:【部分中文显示问号】,该怎么解决
- The given path's format is not supported,该如何处理
- json 序列化有错误怎么办
- JQUERY json 传值有关问题
- 获取 天候Api 返回的 json 数据
- MVC(Json) 出现提示上载
- MVC,linq,json,有关问题不知道如何描述,跪求
- json 序列化有关问题?当列名为可变数值时,如果序列化
- HttpWebRequest post json 数据,接受应该怎么获取啊
- 在于json。超级郁闷。上载了Newtonsoft.Json,可是没有JavaScriptArray属性,这是为什么呀
- 急MVC3 返回 Json 有关问题
- jquery +json +html 怎么做分页
- JSON.parse是那里定义的,小弟我在vs2008里js函数里调用了
- jqGrid json 不显示数据,该如何处理
- json 反序列化 为.net对象,该如何处理