将Javascript函数传递给Jquery插件

时间:2011-12-09 06:19:20

标签: jquery jquery-plugins

我想将一个函数作为参数传递给插件。

问题:我正在创建一个jquery插件。 jquery插件进行JSON-P调用。

代码的一部分:

(function ($) {
$.fn.GetJsonResult = function (options) {

    var opts = $.extend({}, $.fn.GetJsonResult.defaults, options);

    var control = this;

    $.ajax({
        url: opts.url,
        dataType: 'jsonp',
        cache: false,
       error: function (XMLHttpRequest, textStatus, errorThrown) {
       alert("Error occured textStatus=" + textStatus + " errorThrown=" + errorThrown);
       },
        success: function (j) {

       }

    });

}

})(jQuery);

我可以传递一些在JSOn请求完成时将在success方法中执行的函数名。

1 个答案:

答案 0 :(得分:1)

你可以传递这个功能:

$(x).GetJsonResult({
    success: function() { /* ... */ }
});

或者:

function pancakes() { /* ... */ }

$(x).GetJsonResult({
    success: pancakes
});

然后:

$.fn.GetJsonResult = function (options) {
    // ...
    $.ajax({
        // ...
        success: function(j) {
            // Do whatever you need to do.
            if(options.success)
                options.success();
        }
    });
    // ...
};