javascript - 如何编写带有可传递参数的回调的 jQuery 函数?

标签 javascript jquery

我有以下功能:

function loadProjects(pID) {

    $.ajax({
        url: myURL,
        success: function (dataJS) {###Run any supplied call back here####}
    });
}

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

问题是我希望能够在成功后定义一个回调函数,并且我想在执行 loadProjects(1, pong(12)) 时包含它。我希望能够向回调提供参数。

如何让函数接受回调? 我如何向该函数传递回调?

类似的东西

function loadProjects(pID, callback) {

    $.ajax({
        url: myURL,
        success: function (dataJS) {###Run any supplied call back here####}
    });
}

然后我可以在哪里打电话:

loadProjects(22, pong(12))

问题是当我尝试此操作时,pong(12) 立即运行,而不是稍后在 loadProjects 函数中调用时运行?

想法?谢谢

最佳答案

试试这个:

function loadProjects(pID, callback) {

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

}

loadProjects(1, function() { pong(12); });

或者:

function loadProjects(pID, callback, value) {

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

        }
    });

}

loadProjects(1, pong, 12);

关于javascript - 如何编写带有可传递参数的回调的 jQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5798327/

相关文章:

javascript - FullCalendar .start 没有正确获得小时

javascript - 匹配 jQuery 中的精确字符串

javascript - Firebase Auth 内置身份

javascript - Jquery 选择器性能和行为

javascript - 无法在 Firefox 中使用 jQuery 脚本

javascript - jQuery:动画不透明度为 0 然后淡出

javascript - 为什么我可以在不修改架构的情况下将自定义元素插入ckeditor

javascript - 如何在 React 中的 setState 对象数组上添加项目?

用于在悬停时显示 DIV 的 jQuery 插件

javascript - trim JSONP 日期以提取年份?