Mr.*_*Sam 9 jquery function callback
我有一个自定义函数,我想添加一个回调函数,我查看了其他问题,但我找不到我的问题的答案.所以基本上它看起来像这样:
function myfunction() {
// something
}
Run Code Online (Sandbox Code Playgroud)
我有一个不同的功能,我想触发作为回调,最终我想调用myfunction这样:
myfunction(callback());
Run Code Online (Sandbox Code Playgroud)
那么有人可以告诉我这样做的方法吗?
jfr*_*d00 20
你会这样称呼它(将回调函数作为参数传递):
myfunction(myCallbackFn);
Run Code Online (Sandbox Code Playgroud)
请注意,在将函数的引用作为参数传递时,函数名后面没有括号.这不会调用该函数,只是传递对它的引用,然后可以在自定义函数中调用它.
您将定义您的函数,然后在其中调用回调函数,如下所示:
function myfunction(cb) {
cb(arg1, arg2);
}
Run Code Online (Sandbox Code Playgroud)
注意,有多种方法可以在自定义函数中实际调用回调函数.如果你只是需要正常调用而不关心this参数,你可以使用:
cb();
Run Code Online (Sandbox Code Playgroud)
如果要将this参数设置为某个值,可以使用:
cb.call(thisArg, arg1, arg2);
Run Code Online (Sandbox Code Playgroud)
如果要传递当前参数或传递参数数组并设置this参数,可以使用:
cb.apply(thisArg, argArray);
Run Code Online (Sandbox Code Playgroud)
您当前的代码在此区域中存在javascript错误:
test(rand_gyumolcs, link, callback){
callback();
};
Run Code Online (Sandbox Code Playgroud)
这不是合法的javascript.我不知道你要做什么,但这看起来像函数声明的一半和函数调用的一半.如果您只想调用测试函数,您只需使用:
test(rand_gyumolcs, link, callback);
Run Code Online (Sandbox Code Playgroud)
在测试中,如果你想在动画完成后调用回调函数,那么你必须挂钩动画的完成函数然后调用回调.
小智 7
这是一个带回调值的回调示例,该回调值也接受输入参数:
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; });
Run Code Online (Sandbox Code Playgroud)
function myfunction(callback) {
// something
callback();
}
myfunction(callback);
Run Code Online (Sandbox Code Playgroud)
请注意,我不是在调用回调,而只是将其作为对函数的函数引用进行传递。然后,我在函数的结尾或您想执行的任何地方调用它。
| 归档时间: |
|
| 查看次数: |
59280 次 |
| 最近记录: |