我有以下两个功能,由同一个点击事件触发:
$(".mydiv").click(function() {
// Code 1
});
和
$(".mydiv").click(function() {
// Code 2
});
我希望两个代码块在同一个点击事件上触发,但我希望代码 2 在代码 1 完成后立即触发。实现这一目标的最有效方法是什么?
谢谢
我有以下两个功能,由同一个点击事件触发:
$(".mydiv").click(function() {
// Code 1
});
和
$(".mydiv").click(function() {
// Code 2
});
我希望两个代码块在同一个点击事件上触发,但我希望代码 2 在代码 1 完成后立即触发。实现这一目标的最有效方法是什么?
谢谢
“代码 1”和“代码 2”应该是函数调用。然后你可以这样做:
$('.mydiv').on('click', function(){
code1();
code2();
});
var func1 = function() {
//code here
func2();
}
var func2 = function() {
//code here
};
$('.mydiv').click(func1);
注意:如果您在 func1 中执行异步操作并希望 func2 在这些操作完成时触发,这将不起作用。
您可以像以下示例一样为您的第一个函数设置回调:
$(".mydiv").click(function() {
myfirstFunction(function(){
myLastFunction();
});
});
myfirstFunction = function(callback) {
// do your thing
// and at the end...
if (typeof callback === "function") {
callback();
}
}
代码是从上到下执行的,所以应该是:
$(".mydiv").click(function() {
// Code 1
// Code 2
});