我的回调功能不起作用,我想在test()
之后运行configReq()
$(document).ready(function() {
configReq($(this).attr('href'), test);
});
var test = function() {
alert('hi');
};
function configReq(thisUrl) {
$('.progress').empty();
$('.progress').append('<div class="progress-bar bg-success" style="width: 0%; display: block;"></div>');
}
请让我知道我哪里错了......?
答案 0 :(得分:2)
似乎是同步的。
尝试,
$(document).ready(function() {
configReq($(this).attr('href'));
test();
});
OR
$(document).ready(function() {
configReq($(this).attr('href'),test);
});
function configReq(thisUrl,nextFunction) {
$('.progress').empty();
$('.progress').append('<div class="progress-bar bg-success" style="width: 0%; display: block;"></div>');
nextFunction();
}
答案 1 :(得分:2)
像这样:
$(document).ready(function() {
configReq('Some item', test);
});
function test() {
console.log('Callback executed');
};
function configReq(thisUrl, callback) {
console.log('Executing configReq');
if (callback) callback();
}
答案 2 :(得分:2)
要编写执行回调函数的函数,可以这样:
function doSomething(arg,callback) {
// .....
if (typeof callback === "function") {
callback();
}
}
<小时/> 所以你的代码是这样的:
<强>样本:强> http://jsfiddle.net/z7LDA/1/
HTML:
<a href="#foo">click me</a>
使用Javascript:
$(document).ready(function() {
$("a").click(function(){
configReq($(this).attr('href'), test);
});
});
var test = function() {
alert('hi');
};
function configReq(thisUrl,callback) {
$('.progress').empty();
$('.progress').append('<div class="progress-bar bg-success" style="width: 0%; display: block;"></div>');
if (typeof callback === "function") {
callback();
}
}
答案 3 :(得分:1)
这是一个简单的回调函数:
$(document).ready(function() {
configReq($(this).attr('href'), function(){
alert('hi');
});
});
function configReq(thisUrl) {
$('.progress').empty();
$('.progress').append('<div class="progress-bar bg-success" style="width: 0%; display: block;"></div>');
}