2012/08/06

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

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

deletegateしている場合
  1. //delegateでイベント登録  
  2. $('elem').addEvent('click:relay(.child)'function(event, target){  
  3.  //イベント処理  
  4.  //targetに何かしたりして  
  5. });  
  6.   
  7. $('elem2').addEvent('click'function(event){  
  8.  //targetになる要素を取得する  
  9.  var target =  $('elem').getElement('.child'); //elem要素の中の.child要素を取得する  
  10.  //2番目の引数でイベント登録時の引数、event, targetを渡す  
  11.  $('elem').fireEvent('click:relay(.child)', [event, target]);  
  12. });  

0 件のコメント:

コメントを投稿