在jQuery插件中,我们一般将其分为两种
一、工具类例如ajax之类
定义方式1:
就可以直接给$添加 属性or方法
$.chajian = function(){
//函数主体
}
定义方式2:
使用$.extend( {
a:function(){},
b:function(){}
} )
相当于定义a,b两个方法
二、DOM操作类 如$("div").attr();
定义方式1:
直接给$.fn($.prototype)添加 "属性or方法"
$.fn.f1=function(){
console.log("f1方法");
};
定义方式2:
$.fn.extend( {
f1:function(){},
f2:function(){}
} )
三、一个完整的插件
define([
"jquery"
],function($){
//开发一个基于jquery+bootstrap的模态框插件
$.fn.extend({
myModal:function(){
this.on("hidden.bs.modal",function(){
//移除模态框容器
this.remove();
}).appendTo("body").modal();
//实现链式编程 -->执行完该方法之后,用户还可以再去调用其他的jquery操作方法
return this;
}
});
})