我試圖建立我的插件裏面接受一個回調函數作爲選項參數:呼叫未定義
(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);
但我得到調用()是未定義的一個錯誤。我的代碼有什麼問題?
好吧,我改變了這個:
(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);
和錯誤仍然存在......
在你的問題中引用錯誤會很有用。 – alex 2011-04-26 08:30:15
[It works for me](http://jsfiddle.net/alexdickson/pwF5k/)。 – alex 2011-04-26 08:31:37
是的,這個問題出現在另一個使用call()的函數中,並且忘記改變它:D – Alex 2011-04-26 08:38:40