Ext 的事件和类的用法和说明
的有关信息介绍如下:EXT中的事件,可分为如下两种事件:自定义事件和浏览器事件:
自定义事件:
EXT中的自定义事件通常是继承Ext.util.Observable类来实现。可以为继承了Ext.util.Observable的对象定义一些事件。
浏览器事件
浏览器事件是浏览器根据用户的动作触发的,相关的类包括:
Ext.EventManagerExt.EventObjectExt.lib.Event
为HTML元素定义浏览器事件,可以同时定义多个,他们之间会依次执行。
自定义事件:
创建一个Person类,包含一个属性name,使用this.addEvents()添加3个事件,
Ext.extend让Person继承Ext.util.Observable,添加一个函数info()
这里使用on为事件添加一个执行函数(登记事件函数)
触发事件监听器
辅助提示:
浏览器事件:
Ext.lib.Event定义在adapter中的工具类,重要定义了以下几个主要的函数:
getX() getY() getXYgetTarget()on() un()preventDefault()stopPropagation()stopEvent()onAvailable()resolveTextNode()getRelateTarget()
Ext.util.Observable要实现一个可处理事件的EXT组件时,可以直接继承Ext.util.Observable
大括号表示复合式参数(传入一种复合式参数的形式),如果把下面的single换成buffer,则会以等待执行队列的机制去执行, 重新触发时取消当前事件,保证函数不会重复执行,testid表示传入fn函数的参数,fn函数使用args.参数名去接受。
使用on()一次定义多个事件监听器
使用capture和releaseCapture设置事件拦截器return true:表示拦截处理后会继续执行接下来的事件return false:表示拦截处理后会终止事件的发生
releaseCapture::一次性清楚fireEvent上的所有拦截函数suspendEvents():一次设置来暂停某个对象中所有事件的发生resumeEvents():取消暂停
Ext.EventManagerExt.EventManager,定义了一系列事件相关的处理函数,常用的包括:onDocumentReady, onWindowResize, onTextResize
Ext.onReady():使用它确保脚本是在HTML元素都加载完成后才执行,可以避免很多潜在的问题。
onWindowResize():监听浏览器窗口的大小改变包含两个参数,宽度和高度
Ext.EventObject事件的封装类,将EXT自定义事件和浏览器事件结合在一起使用