2012-02-28 21 views
0

コールバック関数から他にコールしようとしています。両方とも準備関数です。 that.Hereを行うにはどのように私がしようとしているコードです:コールバック関数から他のコールバック関数にコールする方法

$(document).ready(function(){ 

     $("#addRow").bind('click',function add(){ 
      //do something 

      $("#qty1").click(function(){ 

       add();//I can call from here 
      }); 
     }); 

     $("#qty2").click(function(){ 

      //I want call add() from here 
     }); 

}); 
+0

外部で関数を定義することなく、同じコード構造でこれを行うことは可能ですか? – dynid

答えて

0

あなたは、スタンドアロンの関数宣言を作成することができます

function add(){ 
    ..... 
} 

をして、必要ならば呼び出し:

$("#AddRow").click(add); 
$("#qty2").click(add); 

あなたの場合add関数も受け入れる引数、次にあなたはw

$("#AddRow").click(function(){ 
    add(a, b); 
}); 
+0

スタンドアロン関数を作成せずに、同じ構造体でこれを行うことは可能ですか? – dynid

+0

@ tutor777:いいえ、残念なことに、関数は最初のクリックハンドラにのみ存在し、関数式ではない関数宣言であるため、他の場所でも利用可能です。コードを変更する必要があります。 – Sarfraz

0

はあなたのjQueryの外に、あなたの関数を宣言します。

function add() { 
    // stuff goes here 
} 

そして、あなたはあなたのjQueryの機能でそれを呼び出すことができるようになります:

$("#qty2").click(function(){ 
    add(); 
}); 
0

あなたは何ができる

$(document).ready(function(){ 
     var add = function(){ 

      //do something 

     } 

     $("#qty1").click(function(){ 

       add();//I can call from here 
     }); 
     $("#addRow").bind('click',function(){add();}); 

     $("#qty2").click(function(){ 

      add(); 
     }); 

}); 
0

あなたが好きなイベントにアタッチし、最初にあなたの関数を宣言します。

function add(event) { 
    // Your code... 
} 

$("#addRow").click(add); 
$("#qty2").click(add); 
関連する問題