星期三, 9月 05, 2012

jQuery相關extend用法

  • jQuery.extend
    說明:為jQuery增加method
    例:jQuery本身無$.add,為此增加個add method
    jQuery.extend( {     
        add:functioin(a,b){
            return a+b;     
        }   
    });
    用法
    alert($.add(5,3));  //print 8

  • jQuery.fn.extend
    說明:為selector增加jQuery method
    例:jQuery本身對selector有height(), width(),但沒有color(),為此增加color method
    jQuery.fn.extend({ 
        color: function (val) 
        { 
              if (val == undefined){           
                   return  $( this ).css( "color" ); 
                } else {      
                  return  $( this ).css( "color" , val); 
                } 
        } 
    }) );
    用法
    $("input").color("red"));  //所有input都是紅字

  • 匿名method寫法
    //1.一般function寫法
    function method1(m){alert(m);}   
    
    //2.暱名function,需有變數接
    var method2 = (function(m){alert(m);}) 
    method2("Hello");
    
    //3.直接傳參數進暱名function呼叫
    (function(m){alert(m);})("Hello")
  • (function ($){ ... })(functionName)
    指為了避$的衝突
    可以包在這裡面,如此一來$就不會衝到,即使設了jQuery.noConflict()
    常用在寫jQuery plugin
Reference jQuery.fn.extend 與jQuery.extend 用法 What a heck is a (function ($){ ... })(jQuery)

沒有留言: