2011-12-09 140 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