我有一个自定义函数,我想向它添加一个回调函数,我查看了其他问题,但我无法真正找到我的问题的答案。所以基本上它看起来像这样:jquery在自定义函数中调用回调函数
而且我有我想要触发的回调不同的功能,最终我想打电话给myfunction的是这样的:
myfunction(callback());
因此,谁能告诉我的方式来做到这一点?
我有一个自定义函数,我想向它添加一个回调函数,我查看了其他问题,但我无法真正找到我的问题的答案。所以基本上它看起来像这样:jquery在自定义函数中调用回调函数
而且我有我想要触发的回调不同的功能,最终我想打电话给myfunction的是这样的:
myfunction(callback());
因此,谁能告诉我的方式来做到这一点?
你会这样称呼它(通过回调函数作为参数)。这不会调用该函数,而只是传递一个引用,然后可以在您的自定义函数中稍后调用该引用。
你会定义函数,然后调用回调函数中这样说:
function myfunction(cb) {
cb(arg1, arg2);
}
注意,还有的实际上是从您的自定义函数中调用回调函数多种方法。如果你只需要正常调用它,并且不关心this
的说法,你可以用:
cb();
如果你想设置的this
参数的东西,你可以用这个:
cb.call(thisArg, arg1, arg2);
如果你想沿着当前的参数传递或传递的参数数组并设置this
说法,你这样做:
cb.apply(thisArg, argArray);
您当前的代码有这方面的JavaScript错误:
test(rand_gyumolcs, link, callback){
callback();
};
这是不合法的JavaScript。我不知道你在做什么,但是这看起来像函数声明的一半,而函数调用的一半。如果你只是想调用的测试功能,你只需使用:
test(rand_gyumolcs, link, callback);
内部测试,如果你想在回调函数被调用的动画完成后,那么你就必须挂钩完成然后调用回调函数。
通知我没有调用回调函数,而是将它作为函数引用传递给我的函数。然后我在最后或者你想要的地方调用它。传递引用时,函数作为参数
myfunction(myCallbackFn);
注意有没有括号函数名后:
@Keith ......你需要传递,你需要在声明myfunction的运行实际的功能:即myfunction的(function(){alert“hello”;});不myfunction(回调); – bouk
这里是用一个返回值也是以输入参数的回调的例子:
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; });
似乎不适合我jfriend00 ...这可能是我的错,但你可以看一下吗?代码有点乱,我知道,我不擅长jquery ... http://ridewithus.co.cc/test/ –
如果你能看到..我想要右侧的水果移动,和测试功能做到这一点,但我也有一个回调功能,应该将它们移回原来的位置 –
请在您的原始问题中发布相关代码,或者给出代码在您的页面中的位置以及如何触发它。你已经发布了一个包含五个嵌入脚本页面的网页,我不知道你在问什么代码。 – jfriend00