我有一个页面包含一些jQuery,以及一个单独的非jQuery函数.
目前我的函数运行在$(document).ready上,但是我想在函数完成后立即调用jQuery函数.我可以将我的函数作为回调传递给任何jQuery函数,但是如何设置反过来呢?
所以我理想地想知道如何创建一个函数foo来为我处理这个问题:
$(document).ready(function() {
foo(myfunction(), $(bar).something);
}
Run Code Online (Sandbox Code Playgroud)
或者如何扩展现有函数来处理回调.谢谢.
定义您的函数以接受(可选)回调,然后在回调存在时使用javascript call()或apply()方法.要保留上下文,请将当前值this(或所需的任何上下文)传递给apply方法.Call()和apply()根据参数的传递方式而有所不同.
function myfunction(callback) {
// do stuff
if (callback)
callback.apply(this);
}
Run Code Online (Sandbox Code Playgroud)