如何在另一个功能完成后触发一个功能

时间:2013-09-06 23:57:54

标签: javascript jquery

我有以下两个函数,由相同的点击事件触发:

$(".mydiv").click(function() {

// Code 1

});

$(".mydiv").click(function() {

// Code 2

});

我想在同一个点击事件中触发两个代码块,但是我想在代码1完成后立即触发代码2。实现这一目标的最有效方法是什么?

由于

4 个答案:

答案 0 :(得分:4)

“代码1”和“代码2”应该是函数调用。然后你可以这样做:

$('.mydiv').on('click', function(){
  code1();
  code2();
});

答案 1 :(得分:1)

var func1 = function() {
  //code here


  func2();
}

var func2 = function() {
  //code here
};

$('.mydiv').click(func1);

注意:如果您在func1中执行异步操作并希望在这些操作完成时触发func2,则无效。

答案 2 :(得分:1)

可以设置一个回调到你的第一个函数,如下例所示:

$(".mydiv").click(function() {
    myfirstFunction(function(){
        myLastFunction();
    });
});

myfirstFunction = function(callback) {
    // do your thing
    // and at the end...
    if (typeof callback === "function") {
        callback();
    }
}

Click here to see the fiddle

答案 3 :(得分:0)

代码从上到下执行,因此它应该是:

$(".mydiv").click(function() {

// Code 1
// Code 2
});