ASが運営するWebサイトに飛びます

2008年03月25日

[復習]イベントハンドラに引数をわたす簡単な処理

イベントハンドラに引数をわたす簡単な処理を行います。

イベントハンドラに任意の引数を設定した後に、
returnでイベントハンドラ用の引数を設定したfunction を定義しておく事で
同じ関数内でクリックした時の処理と、通常の方法でアクセスした時の処理を
振り分ける事ができます。

例題 一つの関数内ににクリックイベント時に行う処理と、引数を設定して通常のやり方で
アクセスした場合の処理の両方を定義する。

通常にアクセスした時と、オブジェクトをクリック(MouseEvent)してアクセスした時で
それぞれ違う処理を返す。

my_btn.addEventListener(MouseEvent.CLICK,sampleHandler(12));//output 12

function sampleHandler(ui:uint)
{
trace("引数 ui ="+ui)
return function (evt:MouseEvent):void{
//btnがクリックされた時の処理
trace("ボタンがクリックされました"+evt.currentTarget)
//
}
}

sampleHandler(30)//output 30

この様にイベントハンドラの関数内に return function(引数:イベントトリガと同じ型)と定義する事で、イベントハンドラの関数に普通にアクセスした場合と特定のイベントでアクセスした場合の処理を振り分けする事でき、イベントハンドラに引数を設定する事ができます。
posted by 神風記 at 23:22| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする