2012/08/06

[MooTools] delegateしているイベントをfireEventで呼び出したい

fireEventってのはイベントを実行させる関数。ある要素に登録されたイベントを他の要素からも使いたいって時なんかに使う
$('elem').addEvent('click', function(){
 //イベント処理
})
$('elem2').addEvent('click', function(){
 //#elemのclickイベントが実行される
 $('elem').fireEvent('click');
})

deletegateしている場合
//delegateでイベント登録
$('elem').addEvent('click:relay(.child)', function(event, target){
 //イベント処理
 //targetに何かしたりして
});

$('elem2').addEvent('click', function(event){
 //targetになる要素を取得する
 var target =  $('elem').getElement('.child'); //elem要素の中の.child要素を取得する
 //2番目の引数でイベント登録時の引数、event, targetを渡す
 $('elem').fireEvent('click:relay(.child)', [event, target]);
});

0 件のコメント:

コメントを投稿