打印版式

Class Ext.util.Observable

Package: Ext.util
Class: Observable
Extends: Object
Subclasses: BasicDialog , BasicLayoutRegion , Button , Component , ContentPanel , LayoutManager , Resizable , SplitBar , TabPanel , TabPanelItem , UpdateManager , View , Node , Store , Tree , BasicForm , AbstractSelectionModel , ColumnModel , Grid , Menu , DefaultSelectionModel , MultiSelectionModel , ClickRepeater , MixedCollection
Defined In: Observable.js
一个抽象基类(Abstract base class),为事件机制的管理提供一个公共接口。子类应有一个"events"属性来定义所有的事件。
例如:
Employee = function(name){
    this.name = name;
    this.events = {
        "fired" : true,
        "quit" : true
    }
 }
 Ext.extend(Employee, Ext.util.Observable);

属性   -  方法   -  事件

公共属性

此类没有公共属性。

公共方法

方法 定义对象
  Observable.capture (Observable o, Function fn, [Object scope]) : void Observable
<static> 开始捕捉特定的Observable 对象。在事件触发之前, 所有的事件会以"事件名称+标准签名"的形式传入到指定的函数。
  Observable.releaseCapture (Observable o) : void Observable
<static> 从 Observable 对象身上移除所有已加入的捕捉。
  addEvents (Object object) : void Observable
将对象中没有的事件从给出的对象中复制过来。
  addListener (String eventName, Function handler, [Object scope], [Object options]) : void Observable
为该组件加入事件处理器函数
  fireEvent (String eventName, Object... args) : Boolean Observable
触发指定的事件, 并将参数传入(至少要有事件名称)。
  hasListener (String eventName) : Boolean Observable
检查该对象是否拥有指定事件的侦听器
  on (String eventName, Function handler, [Object options]) : void Observable
为该组件加入事件处理器函数, addListener 的简写方式
  purgeListeners () : void Observable
从对象身上移除所有的侦听器
  removeListener (String eventName, Function handler, [Object scope]) : void Observable
移除侦听器
  un (String eventName, Function handler, [Object scope]) : void Observable
移除侦听器, removeListener 的简写方式

公共事件

此类没有公共事件。

方法详情

Observable.capture

public function Observable.capture(Observable o, Function fn, [Object scope])
<static> 开始捕捉特定的 Observable 对象。在事件触发之前,所有的事件会以"事件名称+标准签名"的形式传入到指定的函数。如果函数返回false, 则该事件将不会触发。
参数:
  • o : Observable
    要捕捉的 Observable 对象
  • fn : Function
    要调用之函数
  • scope : Object
    (可选) 函数作用域
返回:
  • void
这个方法由 Observable 对象定义。

Observable.releaseCapture

public function Observable.releaseCapture(Observable o)
<static> 从 Observable 对象身上移除所有已加入的捕捉。
参数:
  • o : Observable
    要释放的 Observable 对象
返回:
  • void
这个方法由 Observable 对象定义。

addEvents

public function addEvents(Object object)
将对象中没有的事件从给出的对象中复制过来。给出的对象必须也继承于 Observable 对象此方法才会有效果。
参数:
  • object : Object
    要复制事件的源对象
返回:
  • void
这个方法由 Observable 对象定义。

addListener

public function addListener(String eventName, Function handler, [Object scope], [Object options])
为组件添加一个事件监听器
参数:
  • eventName : String
    侦听事件的类型
  • handler : Function
    事件调用的方法
  • scope : Object
    (可选)处理函数执行的作用域。处理函数 "this" 的内容。
  • options : Object
    (可选)一个包含处理设置属性的对象。可以包含下列的属性:
    • scope {Object} 处理函数执行的作用域。处理函数 "this" 的内容。
    • delegate {String} 一个简单的选择器用来过滤目标或查找目标的子节点。
    • stopEvent {Boolean} 值为 True 时用来中止事件。那样将中止传播,并防止缺省动作。
    • preventDefault {Boolean} 值为 True 时用来防止缺省动作。
    • stopPropagation {Boolean} 值为 True 时用来中止事件传播。
    • normalized {Boolean} 值为 False 时向处理函数传递浏览器事件用以代替 Ext.EventObject 对象。
    • delay {Number} 当事件触发后启用处理函数的延迟微秒数。
    • single {Boolean} 值为 True 时将添加一个处理函数用来处理下个触发的事件,并在处理完后移除。
    • buffer {Number} 使处理函数计划在由 Ext.util.DelayedTask 指定的微秒数后执行。如果事件在延迟期间再次触发,原来的处理函数将不再启动,而是由新的计划代替。

    组合选项
    使用选项参数可以组合不同类型的监听器:

    下面是一个标准的、延迟执行的、一次性的监听器,将会自动停止事件并传递一个自定义的参数(forumId)

    代码:
    el.on('click', this.onClick, this, { single: true, delay: 100, stopEvent : true, forumId: 4 });

    这个方法也允许传递的单个参数是一个包含多个指定处理函数的设置对象。

    一次调用多个处理函数
    代码:

    el.on({ 'click' : { fn: this.onClick scope: this, delay: 100 }, 'mouseover' : { fn: this.onMouseOver scope: this }, 'mouseout' : { fn: this.onMouseOut scope: this } });

    或者简写为:
    代码:

    el.on({ 'click' : this.onClick, 'mouseover' : this.onMouseOver, 'mouseout' : this.onMouseOut scope: this });
返回:
  • void
这个方法由 Observable 对象定义。

fireEvent

public function fireEvent(String eventName, Object... args)
触发指定的事件并给出参数(至少要有事件名称)。
参数:
  • eventName : String
  • args : Object...
    传入处理函数的参数
返回:
  • Boolean
    如果任何处理函数返回 false 则返回值为 false, 否则返回 true。
这个方法由 Observable 对象定义。

hasListener

public function hasListener(String eventName)
检查该对象是否拥有指定事件的侦听器
参数:
  • eventName : String
    查询事件之名称
返回:
  • Boolean
    值为 True 值表示事件监听器存在, 否则值为 false。
这个方法由 Observable 对象定义。

on

public function on(String eventName, Function handler, [Object options])
为该组件加入事件处理器函数, addListener 的简写方式
参数:
  • eventName : String
    侦听事件的类型
  • handler : Function
    事件调用的方法
  • options : Object
    (可选)
返回:
  • void
这个方法由 Observable 对象定义。

purgeListeners

public function purgeListeners()
从对象身上移除所有的侦听器
参数:
  • 无。
返回:
  • void
这个方法由 Observable 对象定义。

removeListener

public function removeListener(String eventName, Function handler, [Object scope])
移除侦听器
参数:
  • eventName : String
    侦听事件的类型
  • handler : Function
    删除的处理函数
  • scope : Object
    (可选) The scope (this object) for the handler
返回:
  • void
这个方法由 Observable 对象定义。

un

public function un(String eventName, Function handler, [Object scope])
移除侦听器, removeListener 的简写方式
参数:
  • eventName : String
    侦听事件的类型
  • handler : Function
    删除的处理函数
  • scope : Object
    (可选) The scope (this object) for the handler
返回:
  • void
这个方法由 Observable 对象定义。

Ext - Copyright © 2006-2007 Ext JS, LLC
All rights reserved.