0
我在哪裏犯了一個錯誤?這是一些語法錯誤?如何編寫自己的自定義jQuery插件(Uncaught TypeError:...不是函數)
custom.js:
(function($){
$.fn.marquee = function(options, callback){
// check callback
if(typeof callback == 'function'){
callback.call(this);
} else{
console.log("secound argumnt (callback) is not a function");
throw "callback must be a function";
return;
}
//set and overwrite default options
var defOptions = $.extend({
option1: 10,
option2: 'something'
}, options);
};
//plugin logic here
// ...
return this;
}(jQuery));
//END PLUGIN
在同一文件現在我嘗試通過調用運行插件:
// RUN PLUGIN with options or leave empty for defeaults
$.marquee({
option1: 9,
option2: 'something else'
}, function(){
alert('some callback');
});
然後我得到這個錯誤(在Chrome瀏覽控制檯)...有誰知道什麼這裏的問題?:
Uncaught TypeError: $.marquee is not a function
更多從Chrome的控制檯錯誤信息:
(anonymous function) @ custom.js:25m.
Callbacks.j @ jquery-1.11.2.min.js:2m.
Callbacks.k.fireWith @ jquery-1.11.2.min.js:2m.
extend.ready @ jquery-1.11.2.min.js:2J @ jquery-1.11.2.min.js:2
您創建了對*元素*,因此你必須先選擇一些元素的作品插件:'$(「格」)選框( )'。我建議閱讀jQuery教程:http://learn.jquery.com/plugins/basic-plugin-creation/ –
'$(window).marquee();' – RRK