5
例如,我正在查看jCalendar源代碼,創建者有兩個不同的插件部分,一個是「jQuery.jcalendar」下的一個函數,另一個是「jQuery.fn.jcalendar」。將兩者分開的目的是什麼?一個人做了什麼?jQuery插件創作:爲什麼有些人做jQuery.pluginName和其他人jQuery.fn.pluginName?
例如,我正在查看jCalendar源代碼,創建者有兩個不同的插件部分,一個是「jQuery.jcalendar」下的一個函數,另一個是「jQuery.fn.jcalendar」。將兩者分開的目的是什麼?一個人做了什麼?jQuery插件創作:爲什麼有些人做jQuery.pluginName和其他人jQuery.fn.pluginName?
jQuery.fn.mypluging名擴展jQuery的對象:
$(selector); //a jquery object
$(selector).myplugin();
jQuery.myplugin擴展jQuery對象本身:
$; //the jQuery object
$.myPlugin();
通過添加插件jQuery.fn你可以做的東西該選擇器找到的對象:
jQuery.fn.makeRed = function(){
this.each(function() {
$(this).css('color', 'red');
}
}
$('div.someClass').makeRed(); //makes all divs of class someclass have red text
擴展jQuery對象本身其實是做ne用於你的類需要但不擴展jQuery對象的函數。所以擴展我們以前的例子:
jQuery.fn.doStuff = function(){
this.each(function() {
$(this).css('color', 'red')
.append($.doStuff.giveMeRandom());
}
}
jQuery.doStuff = {
giveMeRandom: function() {
return Math.random();
}
}
$('div.someClass').doStuff(); //makes all divs of class someclass have red text and append a random number to them