我想将一个函数作为参数传递给插件。
问题:我正在创建一个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方法中执行的函数名。
答案 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();
}
});
// ...
};