JQuery插件開發入門


個人比較喜歡封裝,現在學習JQuery,總想封裝出自己喜歡的插件,所以將JQuery插件的開發稍加總結。

本文並不全面,主要針對自定義插件的分類和語法進行總結,希望以后可以作為工具查看。

注:

jQuery插件的完整開發文檔可參考

http://www.cnblogs.com/tonywang711/archive/2012/03/29/2419985.html

 

類級別的插件:

1、添加一個函數

1 jQuery.foo = function() {      
2     alert('類級別一個函數');     
3 };  

調用格式如下:

1 jQuery.foo();或者$.foo();

 

2、添加多個函數

1 jQuery.foo = function() {      
2     alert('類級別多個函數第一個');     
3 };     
4 jQuery.bar = function(param) {      
5     alert('類級別多個函數第二個');     
6 };      

調用格式如下:

jQuery.foo();jQuery.bar();或者$.foo();$.bar('bar'); 

 

3、使用extend

1 jQuery.extend({         
2     foo: function() {         
3         alert('類級別使用extend');         
4     },         
5     bar: function(param) {         
6         alert('類級別使用extend');         
7     }        
8 }); 

 

 

4、使用命名空間

1 jQuery.myPlugin = {             
2     foo:function() {             
3         alert('類級別使用命名空間');             
4     },             
5     bar:function(param) {             
6         alert('類級別使用命名空間'+param);       
7     }            
8 }; 

調用格式如下:

1 $.myPlugin.foo();            
2 $.myPlugin.bar('baz');    

 

對象級別的插件:

1、添加一個函數

1 $.fn.foo = function() {        
2      alert('對象級別一個函數');  
3 }; 

 

2、添加多個函數

$.fn.foo = function() {        
2      alert('對象級別多個函數');  
3 }; 
$.fn.bar = function() {        
2      alert('對象級別多個函數');  
3 }; 

 

3、使用extend

1 $.fn.extend({        
2     foo:function(){        
3           alert('對象級別使用extend');     
4     }   
5     bar:function(){        
6           alert('對象級別使用extend');     
7     }      
8 })  

 

4、使用命名空間

1 $.fn.foo = {       
2    fun1:function(){
3     alert('對象級別使用命名空間');
4   }
5   fun2:function(){
6     alert('對象級別使用命名空間');
7   } 
8 }; 

 

類級別和對象級別的區別:

區別其實就是fn。

官方說法:

1 jQuery.fn = jQuery.prototype = {  
2     init: function( selector, context ) {//....   
3     //......  
4 };   

jQuery.fn = jQuery.prototype

我的理解:

類級別方法什么的是針對$,也就是jQuery對象的,而對象級別的則可以針對$('div')等選擇符產生的對象。

 

原文鏈接:http://www.cnblogs.com/FlyFive/archive/2013/06/19/2961470.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM