オプション引数として内部のコールバック関数を受け入れるようにプラグインを設定しようとしています:
(function($) {
$.fn.MyjQueryPlugin = function(options) {
var defaults = {
onEnd: function(e) {}
};
var settings = $.extend({}, defaults, options);
return this.each(function() {
// do stuff (complete() gets called here)
});
};
function complete(e){
settings.onEnd.call(this); // <- the error?
}
})(jQuery);
しかし、call()が未定義であるというエラーが発生します。私のコードの何が問題になっていますか?
わかりました、私はこれを次のように変更しました:
(function($) {
$.fn.MyjQueryPlugin = function(options) {
var defaults = {
onEnd: function(e) {}
};
var settings = $.extend({}, defaults, options);
var complete = function(e){
settings.onEnd.call(this); // <- the error?
}
return this.each(function() {
// do stuff (complete() gets called here)
});
};
})(jQuery);
そしてエラーはまだそこにあります...