2011-12-09 114 views
0

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

问题:我正在创建一个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请求时,将在成功执行方法。

回答

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(); 
     } 
    }); 
    // ... 
}; 
+0

我不知道,我们所说的一样成功的功能:煎饼。所以现在我把这个函数作为一个变量,并将它作为一个选项传递给一个插件,并将其放入成功方法中。 – Moons