YUI提供的Event工具集
YUI提供的Event工具集簡化了瀏覽器中事件驅動程序的編寫,提供了一種簡單的接口來定制事件和檢查瀏覽器中的event對象。YUI事件工具集提供了自定義事件對象(Custom Event),通過自定義事件對象可以“發布”自己感興趣的時刻或事件,頁面中的YUI組件能夠響應這些自定義的事件并做出回應。
YUI對事件響應的順序:通過YUI Event工具集添加的事件,默認是在冒泡過程中執行事件處理函數的。從DOM節點上來說,是從子節點向根節點響應事件。
<!-- Dependency -->
build/yahoo/yahoo-min.js
<!-- Event source file -->
build/event/event-min.js
Event和Custom Event分別定義在YAHOO.util.Event和YAHOO.util.CustomEvent中
YAHOO.util.Event.addListener(element,eventType,fn,obj,override)
參數:
element:為綁定事件的元素id,可以是一個數組,以支持批量操作
eventType:為事件類型
fn:為事件響應的回調函數
obj:當override為true時,為回調函數傳入的參數對象;當override為false時,該參數被忽略。
override:
返回值類型:Boolean
功能:給指定的element綁定事件響應函數
YAHOO.util.Event.removeListener:function(element,eventType,fn)
參數:
element:為綁定事件的元素id,
eventType:事件類型
fn:為事件響應函數
返回值類型:Boolean
功能:給指定的element解除綁定事件
YAHOO.util.Event.purgeElement ( el , recurse , sType )
參數:
el:為綁定事件的元素id,
recurse:Boolean值,是否解除子節點的事件綁定
sType:事件類型
返回值類型:Boolean
功能:給指定的element解除綁定的同一類型的事件,也可以解除子節點上綁定的這一類型的事件
YAHOO.util.on
addListener的函數別名
YAHOO.util.Event.onAvailable ( p_id , p_fn , p_obj , p_override )
參數:
p_id:為綁定事件的元素id,
p_fn:為事件響應函數
p_obj:同addListener的obj參數
p_override:同addListener的override參數
返回值類型:無
功能:當指定的element的p_id出現時,執行事件響應函數。如果在頁面初始化之前執行這一函數,當頁面加載時(可能還未完成時),就會執行響應的事件響應函數;如果放在頁面加載之后執行這一函數,將以固定的時間輪詢,當element可用時響應這一事件。這個輪詢的的時間是可以配置的,缺省的時間是10秒一次。
YAHOO.util.Event.onContentReady ( p_id , p_fn , p_obj , p_override )
參數:
p_id:為綁定事件的元素id,
p_fn:為事件響應函數
p_obj:同addListener的obj參數
p_override:同addListener的override參數
返回值類型:無
功能:與onAvailable類似,但不同的是事件響應函數是等到element可以安全的修改的時候才響應。
YAHOO.util.Event.onDOMReady ( p_fn , p_obj , p_scope )
參數:
p_fn:為事件響應函數
p_obj:同addListener的obj參數
p_scope:同addListener的override參數
返回值類型:無
功能:當DOM第一次可用時執行響應函數。
YAHOO.util.Event.preventDefault ( event)
參數:
event:事件對象
返回值類型:無
功能:阻止事件的缺省行為發生。