2 回答

TA貢獻1776條經驗 獲得超12個贊
//類級別插件開發,主要是在jQuery中定義全局方法:
//第一種寫法
jQuery.myFunc = function(str){
alert("直接在jquery中定義方法",str)
}
//調用方式 $.myFunc("hello!");
//第二種寫法
jQuery.extend({
myFunc:function(str){
alert("extend擴展$的方法",str)
}
})
//調用方式 $.myFunc("hello!");
//第三種寫法: 為了不污染全局,掛載一個對象作為命名空間,自定義的所有方法放在這里,保證jQuery全局安全。
jQuery.define={
myFunc:function(str){
alert("命名空間的寫法",str)
}
}
//調用方式:$.define.myFunc("hello");
//以上三種是級別插件開發方式,不常用,從調用方式看出,他們是全局執行的,不需要綁定節點對象。
//對象級別插件開發:有規范模板
;(function($){
$.fn.plugin = function(options){
var defaults = {
//各種默認參數
}
var options = $.extend(defaults,options); //傳入的參數覆蓋默認參數
this.each(function(){
var _this = $(this); //緩存一下插件傳進來的節點對象。
//執行內容
})
return $(this); //把節點對象返回去,為了支持鏈式調用。
}
})(jQuery);
//調用方式
$("selector").plugin({
//自定義參數,json格式
})
- 2 回答
- 0 關注
- 447 瀏覽
添加回答
舉報