jquery插件開發三種方法
阿新 • • 發佈:2017-08-03
each 視頻 jquery def lec select selector 安全 對象
1.好像之前看視頻記錄下來的,不記得了。
1 //類級別插件開發,主要是在jQuery中定義全局方法: 2 3 //第一種寫法 4 jQuery.myFunc = function(str){ 5 alert("直接在jquery中定義方法",str) 6 } 7 //調用方式 $.myFunc("hello!"); 8 9 //第二種寫法 10 jQuery.extend({ 11 myFunc:function(str){ 12 alert("extend擴展$的方法",str) 13 } 14 }) 15 //調用方式 $.myFunc("hello!");16 17 18 //第三種寫法: 為了不汙染全局,掛載一個對象作為命名空間,自定義的所有方法放在這裏,保證jQuery全局安全。 19 jQuery.define={ 20 myFunc:function(str){ 21 alert("命名空間的寫法",str) 22 } 23 } 24 25 //調用方式:$.define.myFunc("hello"); 26 27 28 //以上三種是級別插件開發方式,不常用,從調用方式看出,他們是全局執行的,不需要綁定節點對象。 29 30 31 //對象級別插件開發:有規範模板 32 33 ;(function($){34 $.fn.plugin = function(options){ 35 var defaults = { 36 //各種默認參數 37 } 38 var options = $.extend(defaults,options); //傳入的參數覆蓋默認參數 39 this.each(function(){ 40 var _this = $(this); //緩存一下插件傳進來的節點對象。 41 //執行內容 42 43 44}) 45 return $(this); //把節點對象返回去,為了支持鏈式調用。 46 } 47 })(jQuery); 48 49 //調用方式 50 $("selector").plugin({ 51 //自定義參數,json格式 52 })
jquery插件開發三種方法