Jquery在自定义函数中调用回调函数
我有一个自定义函数,我想给它添加一个回调函数,我查看了其他问题,但我真的找不到问题的答案。所以基本上看起来是这样的:Jquery在自定义函数中调用回调函数,jquery,function,callback,Jquery,Function,Callback,我有一个自定义函数,我想给它添加一个回调函数,我查看了其他问题,但我真的找不到问题的答案。所以基本上看起来是这样的: function myfunction() { // something } function myfunction(cb) { cb(arg1, arg2); } 我有一个不同的函数,我想作为回调触发它,最终我想像这样调用myfunction: myfunction(callback()); 有人能告诉我怎么做吗 function myfunction(cal
function myfunction() {
// something
}
function myfunction(cb) {
cb(arg1, arg2);
}
我有一个不同的函数,我想作为回调触发它,最终我想像这样调用myfunction:
myfunction(callback());
有人能告诉我怎么做吗
function myfunction(callback) {
// something
callback();
}
myfunction(callback);
请注意,我不是调用回调函数,而是将其作为函数引用传递给我的函数。然后,我在函数末尾或您想在任何地方调用它。您可以这样调用它(将回调函数作为参数传递): 请注意,当作为参数传递对函数的引用时,函数名后面没有括号。这不会调用函数,只是传递一个对它的引用,以后可以从自定义函数中调用该引用 您可以定义函数,然后在其中调用回调函数,如下所示:
function myfunction() {
// something
}
function myfunction(cb) {
cb(arg1, arg2);
}
注意,有多种方法可以从自定义函数中实际调用回调函数。如果您只需要正常调用它,而不关心此
参数,则可以使用:
cb();
如果要将this
参数设置为某个值,可以使用以下选项:
cb.call(thisArg, arg1, arg2);
cb.apply(thisArg, argArray);
test(rand_gyumolcs, link, callback);
如果要传递当前参数或传递参数数组并设置此
参数,可以使用以下方法:
cb.call(thisArg, arg1, arg2);
cb.apply(thisArg, argArray);
test(rand_gyumolcs, link, callback);
关于和的参考资料
您当前的代码在此区域中存在javascript错误:
test(rand_gyumolcs, link, callback){
callback();
};
这是不合法的。我不知道你想做什么,但这看起来像是一半的函数声明和一半的函数调用。如果您只想调用test函数,可以使用以下方法:
cb.call(thisArg, arg1, arg2);
cb.apply(thisArg, argArray);
test(rand_gyumolcs, link, callback);
在测试内部,如果希望在动画完成后调用回调函数,则必须钩住动画的完成函数,然后调用回调。下面是一个回调示例,返回值也包含输入参数:
function test2(arg1, arg2, callback) {
var result = callback(arg1, arg2);
alert('arg1=' + arg1 + ', arg2=' + arg2 + ', result=' + result);
}
test2(1, 2, function(a, b) { return a + b; });
这是在javascript中使用回调的另一种方法,该方法确保您可以根据回调的结果安全地执行条件
// Function call.
validateCondition(function(isValid){
if(isValid) {
executeThisFunction();
} else {
// Do something else.
}
});
function validateCondition(callback) {
var isvalid = true;
// some calculation to check isValid.
callback(isValid);
}
似乎对我不起作用jfriend00。。。这可能是我的错,但你能看一下吗?代码有点乱,我知道,我不太擅长jquery。。。如果你能看到。。我希望右边的结果移动,测试函数也会这样做,但我还有一个回调函数,可以将它们移回原来的位置。请在原始问题中发布相关代码,或者给出一个非常具体的描述,说明代码在页面中的位置以及如何触发它。您发布了一个包含五个嵌入式脚本页面的网页,我不知道您询问的是哪段代码。对不起,您的权利,但发布代码有点长,无论如何,谢谢……动画完成后,您可以调用的唯一地方是对动画使用
完成功能。查看,您将看到最后一个参数是一个回调函数,在动画完成时将调用该函数。您需要将该回调函数作为参数提供给gyum_mozgas2
函数,然后将其传递给该函数中的.animate()
调用。animate()
函数将在动画完成时调用它。@Keith…您需要传递在声明myfunction时需要运行的实际函数:即myfunction(function(){alert“hello”;});非myfunction(回调);