谢鑫的通过本文主要向大家介绍了jquery等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
jquery插件的开发包括两种:一种是类级别的插件开发,即给jquery添加新的全局函数,相当于给jquery类本身添加方法。
jQuery的全局函数就是属于jquery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。
也可以理解为另外两种方式,一种是jQuery本身的扩展方法,另一种是jQuery所选对象的扩展方法。
1.jQuery.extend(Object); // jQuery 本身的扩展方法
2.jQuery.fn.extent(Object); // jQuery 所选对象扩展方法
下面就两种函数的开发做详细的说明。
1、类级别的插件开发
类级别的插件开发最直接的理解就是给jQuery类添加类方法,
可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。
关于类级别的插件开发可以采用如下几种形式进行扩展:
1.1 添加一个新的全局函数
[javascript] view plain copy
- $.foo = function(){
- alert("foo");
- }
- //调用方法
- $.foo();
1.2 使用jQuery.extend(object);
[javascript] view plain copy
- $.extend({
- foo:function(){
- alert("foo");
- },
- bar:function(){
- alert("bar");
- }
- })
- //调用方法
- $.foo();
- $.bar();
1.3 使用命名空间
[javascript] view plain copy
- $.myPlugin = {
- foo:function(){
- alert("foo");
- },
- bar:function(){
- alert("bar");
- }
- }
- //调用方法
- $.myPlugin.foo();
- $.myPlugin.bar();
2、对象级别的插件开发
[javascript] view plain copy
- $.fn.foo = function(){
- alert("hello jquery");
- }
- $('#myF').foo()
[javascript] view plain copy
- (function($){
- $.fn.extend({
- pluginName:function(opt,callback){
- alert("foo");
- }
- })
- })(jQuery);
- $("#myF").pluginName();
[javascript] view plain copy
- (function (jq) {
- jq.fn.foo = function (obj) {
- alert(obj);
- };
- })(jQuery)
- $("#myF").foo("hello jquery");