首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编写带有回调的jQuery函数?

如何编写带有回调的jQuery函数?
EN

Stack Overflow用户
提问于 2011-04-27 08:11:06
回答 5查看 22.3K关注 0票数 8

我有以下功能:

代码语言:javascript
运行
复制
function loadProjects(pID) {

    $.ajax({
        url: myURL,
        success: function (dataJS) {XXXXXXXXXXXXXXXX}
    });
}

我这样调用这个函数: loadProjects(1);

问题是我希望在成功之后能够定义一个回调函数,并且我想在执行回调时包含它(1,loadProjects:{这里包含的任何js在成功后被回调})

如何让函数接受回调?如何将回调传递给该函数?

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-27 08:14:56

代码语言:javascript
运行
复制
function loadProjects(pID, callbackFunction)
{
    $.ajax({
        url: myURL,
        success: function (dataJS)
        {
            if(typeof callbackFunction == 'function')
            {
                callbackFunction.call(this, dataJS);
            }
        }
    });
}

用法:

代码语言:javascript
运行
复制
loadProjects(pID, function(dataJS)
{
    // do stuff with your dataJS, bear in mind you can call the parameter any name.
});
票数 24
EN

Stack Overflow用户

发布于 2011-04-27 08:14:45

下面是如何修改您的函数,使其可以接受回调。

代码语言:javascript
运行
复制
function loadProjects(pID, callback) {
    $.ajax({
        url: myURL,
        success: function (dataJS) {
          if ($.isFunction(callback)) {
            callback.call();
          }
        }
    });
}

下面是你将如何使用它。

代码语言:javascript
运行
复制
function myCoolCallback() {
  alert("I am cool");
}  

loadProjects(123, myCoolCallback);

或者,您可以将其与匿名函数一起使用,如下所示。

代码语言:javascript
运行
复制
loadProjects(123, function() {
  alert("I am cool");
});
票数 3
EN

Stack Overflow用户

发布于 2011-04-27 08:14:54

代码语言:javascript
运行
复制
function loadProjects(pID, callback) {

    $.ajax({
        url: myURL,
        success: function (dataJS) { if (callback) { callback(); } }
    });

}

调用类似如下的代码:

代码语言:javascript
运行
复制
loadProjects(111, function() { alert('hello!'); });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5797930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档