一个抽象基类(Abstract base class),为事件机制的管理提供一个公共接口。子类应有一个"events"属性来定义所有的事件。
例如:
Employee = function(name){
this.name = name;
this.addEvents({
"fired" : true,
"quit" : true
});
}
Ext.extend(Employee, Ext.util.Observable);
| |
fireEvent
(
String eventName,
)
: Boolean
触发指定的事件,并将参数传入(至少要有事件名称)。
触发指定的事件,并将参数传入(至少要有事件名称)。
参数项:
返回:
Boolean 如果有句柄返回false而返回false,否则返回true
|
Observable
|
| |
addListener
(
String eventName,
Function handler,
[Object scope],
[Object options]
)
为该组件加入事件句柄(event handler)
<...
为该组件加入事件句柄(event handler)
scope : Object句柄函数执行时所在的作用域。句柄函数“this”的上下文。 delay : Number触发事件后开始执行句柄的延时时间(invocation:the act of making a particular function start),单位:毫秒 single : Booleantrue代表为下次事件触发加入一个要处理的句柄,然后再移除本身。 buffer {Number} 指定一个毫秒数,会将句柄安排到{@link Ext.util.DelayedTask}延时之后才执行 . 如果事件在那个事件再次触发,则原句柄将不会 被启用,但是新句柄会安排在其位置。 不同配搭方式的选项 利用参数选项,可以组合成不同类型的侦听器: 这个事件的含义是,已常规化的,延时的,自动停止事件并有传入一个自定义的参数(forumId) 的一次性侦听器
el.on('click', this.onClick, this, {
single: true,
delay: 100,
forumId: 4
});
一次调用加入上多个句柄(handlers) 这个方法可接收一个参数,该参数是包含了多个句柄的配置的对象。
foo.on({
'click' : {
fn: this.onClick,
scope: this,
delay: 100
},
'mouseover' : {
fn: this.onMouseOver,
scope: this
},
'mouseout' : {
fn: this.onMouseOut,
scope: this
}
}); 或者是以简写的方式书写,前提是只允许同一个的作用域对象传入到所有的句柄中:
foo.on({
'click' : this.onClick,
'mouseover' : this.onMouseOver,
'mouseout' : this.onMouseOut,
scope: this
});
|
Observable
|
| |
removeListener
(
String eventName,
Function handler,
Object scope
)
移除侦听器
移除侦听器
参数项:
eventName : String
侦听事件的类型
handler : Function
移除的句柄
scope : Object
(optional) 句柄之作用域
返回:
|
Observable
|
| |
purgeListeners
(
)
|
Observable
|
| |
addEvents
(
Object object
)
|
Observable
|
| |
hasListener
(
String eventName
)
: Boolean
查询该对象是否有指定事件的侦听器
查询该对象是否有指定事件的侦听器
参数项:
eventName : String
查询事件之名称
返回:
|
Observable
|
| |
suspendEvents
(
)
暂停触发所有的事件(参阅{@link #resumeEvents})
暂停触发所有的事件(参阅{@link #resumeEvents})
|
Observable
|
| |
resumeEvents
(
)
重新触发事件(参阅{@link #suspendEvents})
重新触发事件(参阅{@link #suspendEvents})
|
Observable
|
| |
Ext.util.Observable.prototype.on
(
String eventName,
[Object scope],
Function handler,
[Object options]
)
为该元素添加事件句柄(event handler),addListen...
为该元素添加事件句柄(event handler),addListener的简写方式 @param {String} eventName 侦听事件的类型 @param {Object} scope (可选的) 执行句柄的作用域 @param {Function} handler 事件涉及的方法 @param {Object} options (可选的) @method
参数项:
eventName : String
侦听事件的类型
scope : Object
(可选的) 执行句柄的作用域
handler : Function
事件涉及的方法
options : Object
(可选的)
@method
返回:
|
Observable
|
| |
Ext.util.Observable.prototype.un
(
String eventName,
Function handler,
[Object scope]
)
移除侦听器 @param {String} eventName ...
移除侦听器 @param {String} eventName 侦听事件的类型 @param {Function} handler 事件涉及的方法 @param {Object} scope (可选的)句柄的作用域 @method
参数项:
eventName : String
侦听事件的类型
handler : Function
事件涉及的方法
scope : Object
(可选的)句柄的作用域
@method
返回:
|
Observable
|
| |
Ext.util.Observable.capture
(
Observable o,
Function fn,
[Object scope]
)
. 开始捕捉特定的观察者。 在事件触发之前,所有的事件会...
. 开始捕捉特定的观察者。 在事件触发 之前,所有的事件会以"事件名称+标准签名"的形式传入到函数(传入的参数是function类型)。 如果传入的函数执行后返回false,则接下的事件将不会触发。 @param {Observable} o 要捕捉的观察者 @param {Function} fn 要调用的函数 @param {Object} scope (可选的)函数作用域 @static
参数项:
o : Observable
要捕捉的观察者
fn : Function
要调用的函数
scope : Object
(可选的)函数作用域
@static
返回:
|
Observable
|
| |
Ext.util.Observable.releaseCapture
(
Observable o
)
从Observable身上移除所有已加入的捕捉captu...
从Observable身上移除 所有已加入的捕捉captures @param {Observable} o 要释放的观察者 @static
参数项:
o : Observable
要释放的观察者
@static
返回:
|
Observable
|