2011-12-09 9 views
0

プラグインにパラメータとして関数を渡したいと思います。Jquery PluginにJavascript関数を渡す

問題: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); 

iは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

関連する問題