`

EXT核心API详解(1)

 
阅读更多

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编码解码,将& <  >  “替换为&amp;&lt;&gt;&quot;

 

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中都有说明.

 

 

分享到:
评论

相关推荐

    EXT核心API详解

    EXT核心API详解 EXT核心API详解 EXT核心API详解

    EXT核心API详解下载

    EXT核心API详解下载 EXT核心API详解下载

    EXT核心API详解.chm

    是EXT核心API详解

    EXT核心API详解(第一部分)

    EXT核心API详解(第一部分)将涵盖以下几个关键概念: 1. **Ext类**:EXT JS的核心类库始于`Ext`对象,它提供了许多基础功能,如事件处理、动画效果和实用工具方法。`Ext.ClassManager`负责类的创建和管理,允许...

    EXT核心API详解 19章

    EXT核心API详解是一份深入解析EXT库核心技术的教程,共分为19个章节,涵盖了EXT库的各个方面。EXT是一个基于JavaScript的用户界面库,它提供了一套完整的组件模型,用于构建富互联网应用程序(RIA)。EXT API是EXT库...

    Ext API详解--笔记

    在`EXT核心API详解(三)-Ext.Element.txt`中,你将了解到如何选择元素、添加和移除CSS类、处理事件、动画效果以及布局调整。 2. **Array, Date, Function, Number, String**: 在`EXT核心API详解(二)-Array Date ...

    整理的Ext API详解

    首先,我们来看"EXT核心API详解(一) - Ext类.txt",这个文件主要讲解了Ext类系统的基础。Ext类系统是整个框架的基石,它提供了面向对象的编程模型。文件中可能涵盖了Ext的应用程序启动、基本类的创建、继承机制、...

    EXT核心API详解.doc

    EXT核心API详解主要涵盖了一系列用于构建富客户端应用的JavaScript库函数和方法。这些API提供了丰富的功能,包括元素操作、事件处理、数据序列化与反序列化、类继承以及组件管理等。以下是对EXT核心API中提及的一些...

    Ext2 核心 API 中文详解

    Ext2 核心 API 中文详解 Ext2 核心 API 中文详解 Ext2 核心 API 中文详解 Ext2 核心 API 中文详解 Ext2 核心 API 中文详解Ext2 核心 API 中文详解Ext2 核心 API 中文详解Ext2 核心 API 中文详解Ext2 核心 API 中文...

Global site tag (gtag.js) - Google Analytics