jquery插件开发总结

两种定义方式

类级别:就是给jquery本身加方法

对象级别:就是给jquery对象加方法

类级别

jQuery.myAlert = function() {         

        alert('Hello World');  

};

调用: $.myAlert();

对象级别

又有两种定义形式

注:下面定义了一个jQuery函数,形参是$,函数定义完成之后,把jQuery这个实参传递进去.立即调用执行。这样的好处是, 我们在写jQuery插件时,也可以使用$这个别名,而不会与prototype引起冲突.

形式1:

(function($){           

       $.fn.extend({               

               pluginName:function(opt,callback){                   

                      //插件实现代码             

               }         

        })      

})(jQuery);

形式2:

(function($) {           

       $.fn.pluginName = function() {               

                 // 插件实现代码         

       };      

})(jQuery);

调用: $("#myDiv").pluginName();

 

使用方式

$(DOM).pluginName(options);   //传参数,进行初始化

$(DOM).pluginName(methodName,params);  //调用方法,第一种(推荐)

$(DOM).pluginName.methodName(params);  //调用方法,第二种

 

标准结构

(function($){
	//定义内部全局变量
	var val1;
	//定义内部
	function myMethod() {}

	//定义jquery插件
	$.fn.pluginName = function (options,param) {
		if(typeof options == "string") {
			//如果传来的参数是字符的话,就调用方法
			return $.fn.pluginName.methods[options](this,param);
		}

		//不是调用方法的话,就是传参来初始化的,下面就进行初始化
		options = options || {};  //如果没有传参数来的话,默认给空对象

		//这里为什么要用循环,因为有可能是要对多个jquery对象进行初始化
		return this.each(function(){
			//处理出初始参数,$.fn.pluginName.defaults是下面定义的插件的默认参数,options是传来的,可以覆盖默认的
			options = $.extend({},$.fn.pluginName.defaults,options);

			//把参数放在当前jquery对象的缓存里
			$.data(this, 'pluginName',options);

			//调用初始化方法,该init方法是自己写的方法,根据需求实现初始化
			init(this);
		});
	};

	//定义插件的默认参数
	$.fn.pluginName.defaults = {
		width:"99%",
		editable:true,
		onAddTask:function(taskText,taskDate){}, //除了参数,这里还可以定义事件,在插件的实现过程中,在特定的位置调用该方法,则可发生事件
		onEditTask:function(taskText,taskDate){}
	};

	//定义对外方法
	$.fn.pluginName.methods = {
		//根据方法引用方式,可以都定义这两个参数
		methodName:function(jq,param) {
			return jq.each(function(){
				
			});
		}
	};
})(jQuery);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值