首頁 >web前端 >js教程 >jquery的extend和fn.extend

jquery的extend和fn.extend

巴扎黑
巴扎黑原創
2017-07-09 17:59:531278瀏覽

jQuery為開發外掛程式提拱了兩個方法,分別是:

 

jQuery.fn.extend(object);

#jQuery.extend(object);

 

#jQuery .extend(object); 為擴展jQuery類別本身.為類別添加新的方法。

jQuery.fn.extend(object);為jQuery物件新增方法。

 

 

#fn 是什麼東西呢。查看jQuery程式碼,就不難發現。


jQuery.fn = jQuery.prototype = {

   init: function( selector , context ) {//.... 

   //......

##};

原來jQuery.fn = jQuery.prototype.對prototype肯定不會陌生。

 

雖然

javascript 沒有明確的類別的概念,但是用類別來理解它,會更方便。

jQuery便是一個封裝得非常好的類,例如我們用 語句 $("#btn1") 會產生一個 jQuery類別的實例。

 

jQuery.extend(object); 為jQuery類別新增新增類別方法,可以理解為新增

靜態方法。如:

 

$.extend({

#  add:function(a,b){return a+b;}

});

 

便為jQuery 添加一個為add 的“靜態方法”,之後便可以在引入jQuery 的地方,使用這個方法了,

$.add(3,4);  //return 7

 

jQuery.fn.extend(object ); 對jQuery.prototype進得擴展,就是為jQuery類別加入「成員函數」。 jQuery類別的實例可以使用這個「成員函數」。

例如我們要開發一個插件,做一個特殊的編輯框,當它被點擊時,便alert 目前編輯框裡的內容。可以這麼做:



Java程式碼 

  1. $. fn.extend({    

  2.     

  3. #   alertWhileClick:function(){##   alertWhileClick:

  4.    

  5. #       $(this#). click(function(){    

  6. #   

    ###############################################################
  7.             alert($(this).val());    

  8.         });    

  9.     

  10. ## 

        
  11. #});    
  12. #    $("#input1"

  13. ).alertWhileClick(); 

//頁面上為: 

#  

## 

 

$("#input1") 為一個jQuery實例,當它呼叫成員方法

alertWhileClick後,便實現了擴展,每次被點擊時它會先彈出目前編輯裡的內容。 ###### ######真實的開發過程中,當然不會做這麼小白的插件,事實上jQuery提拱了豐富的操作文檔,###事件###,CSS ,Ajax 、效果的方法,結合這些方法,便可以開發出更Niubility 的插件。 ###

以上是jquery的extend和fn.extend的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn