Sys.EventHandlerList の getHandler メソッド
更新 : 2007 年 11 月
それを呼び出すと、指定されたイベントのすべてのハンドラを順番に呼び出すことができるような、単一のメソッドを返します。
var e = new Sys.EventHandlerList();
var a = Sys.EventArgs.Empty;
e.addHandler(id, handler);
var f = e.getHandler(id);
if (f) f(this, a);
引数
- id
指定したイベントの ID。
戻り値
それを呼び出すと、指定されたイベントに対するすべてのハンドラを順番に呼び出すことができるような、単一のメソッド。
解説
getHandler メソッドは、イベントを EventHandlerList オブジェクトで発生させるために呼び出します。まず、発生させるイベントの ID を id パラメータに設定して getHandler メソッドを呼び出します。次に、getHandler が返したメソッドを呼び出し、そのイベントのすべてのハンドラを順番に呼び出します。
Sys.EventHandlerList オブジェクトの内容が変更される可能性を考え、getHandler は、返されるメソッドを呼び出す直前に呼び出してください。
getHandler メソッドは、EventHandlerList インスタンスに宣言されているイベントのみを発生させます。他の場所で宣言されているハンドラは含まれません。
使用例
getHandler メソッドをカスタム コントロールで呼び出す方法の例を次に示します。これは EventHandlerList クラスの概要で取り上げているコード例の一部分です。
_clickHandler: function(event) {
var h = this.get_events().getHandler('click');
if (h) h(this, Sys.EventArgs.Empty);
},