如何从一个回调函数调用其他回调函数

如何从一个回调函数调用其他回调函数

问题描述:

我想从一个回调函数调用other.Both都在准备好函数。怎么办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 2012-02-28 12:25:44

您可以创建独立的函数声明:

function add(){ 
    ..... 
} 

并调用需要的地方:

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

如果您add函数也接受自变量,那么你w生病必须这样称呼它:

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

是否有可能做到这一点相同的结构,而不创建一个独立的功能 – dynid 2012-02-28 12:33:34

+0

@ tutor777:不,这是不可能的,不幸的是,因为你的功能只存在于第一个点击处理程序,并且它是函数表达式而不是函数声明,所以它赢得'在其他地方可用。你将不得不修改你的代码。 – Sarfraz 2012-02-28 12:35:18

声明你的功能,你的jQuery外:

function add() { 
    // stuff goes here 
} 

然后你就可以调用它的jQuery函数:

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

你可以做

$(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(); 
     }); 

}); 

首先声明你的函数,然后将其连接到任何你喜欢的活动:

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

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