JQuery-扩展函数插件方法

JQ插件开发

jquery插件的开发包括两种:一种是类级别的插件开发,即给jquery添加新的全局函数,相当于给jquery类本身添加方法。

jquery的全局函数就是属于jquery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。

也可以理解为另外两种方式,一种是jQuery本身的扩展方法,另一种是jQuery所选对象的扩展方法

1.jQuery.extend(Object);   // jQuery 本身的扩展方法

2.jQuery.fn.extent(Object);    // jQuery 所选对象扩展方法


1、类级别的插件开发

**类级别的插件开发最直接的理解就是给jQuery类添加类方法**

可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。

关于类级别的插件开发可以采用如下几种形式进行扩展:

$.foo = function(){
			alert("foo");
		}
		//调用方法 
		$.foo();
1.2 使用jQuery.extend(object);
$.extend({
			foo:function(){
				alert("foo");
			},
			bar:function(){
				alert("bar");
			}
		})
		//调用方法 
		$.foo();
		$.bar();
1.3 使用命名空间
$.myPlugin = {
			foo:function(){
				alert("foo");
			},
			bar:function(){
				alert("bar");
			}
		}
		//调用方法
		$.myPlugin.foo();
		$.myPlugin.bar(); 


2、对象级别的插件开发

$.fn.foo = function(){
			alert("hello jquery");
		}
		$(‘#myF‘).foo()
(function($){   
			$.fn.extend({   
				pluginName:function(opt,callback){   
					alert("foo");   
				}   
			})   
		})(jQuery);  
		$("#myF").pluginName();
(function (jq) { 
			jq.fn.foo = function (obj) { 
				alert(obj);
			}; 
		})(jQuery) 
		$("#myF").foo("hello jquery");

//添加方法到JQuery原型 $.fn.extend();//为JQ($)对象扩展方法
(function(jq) {
    jq.fn.foo = function(obj) {
        alert(obj);
    };
})(jQuery); //使用匿名函数自调自用


$.fn.extend({
    pluginName: function(opt, callback) {
        alert("foo");
    }
});
//对象级别插件开发
$.fn.setStyle = function() {
    $('li', this).click(function() {
        alert('msg');
    })
};

//类级别的插件开发(全局)
$.pointer = function() {
        alert('小手');
    }
    //jq的扩展
$.extend({
    sayhi: function() {
        alert('ooooo');
    }
});
//命名空间式
$.myMethods = {
    sayhellow: function() {
        alert('命名空间式!');
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值