`
songchuanlu
  • 浏览: 31771 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jQuery插件开发

阅读更多

1、类级别的插件开发

类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。
典型的例子就是$.ajax()这个函数,将函数定义于jQuery的命名空间中。
关于类级别的插件开发可以采用如下几种形式进行扩展:

1.1 添加一个新的全局函数

定义格式:

 

jQuery.pluginName = function() {
    alert('测试');  
};

 

实例代码:

 

(function($) {
    $.formatDate = function(date, mask){
        // TODO 格式化日期对象
    };
})(jQuery);

 

1.2 增加多个全局函数

 

定义格式:

 

jQuery.pluginName1 = function() {   
    alert('测试1');
};  
jQuery.pluginName2 = function() {   
    alert('测试2');
};

 

实例代码:

 

(function($) {
    $.formatDateObj = function(dateObj, mask){
        // TODO 格式化日期对象,返回格式化后日期字符串
    };
    $.parseDateStr = function(dateStr, mask){
        // TODO 解析日期字符串,返回日期对象
    };
})(jQuery);

 

1.3 使用jQuery.extend(object);

 

定义格式:

 

jQuery.extend({      
    pluginName1 : function() {      
        alert('测试1');      
    },      
    pluginName2 : function(param) {      
        alert('测试2, 参数是:' + param);      
    }     
});

 

实例代码:

 

(function($) {
    $.extend({      
        formatDateObj: function(dateObj, mask) {      
            // TODO 格式化日期对象,返回格式化后日期字符串
        },      
        parseDateStr: function(dateStr, mask) {      
            // TODO 解析日期字符串,返回日期对象
        }     
    });
})(jQuery);

 

1.4 使用命名空间

 

定义格式:

 

jQuery.chuanlu = {
    pluginName1 : function() {
        alert('测试1');
    },
    pluginName2 : function(param) {
        alert('测试2, 参数是:' + param);
    }
};

 

采用命名空间的函数仍然是全局函数,调用时采用的方法:

$.chuanlu.pluginName1();

$.chuanlu.pluginName2('hello world');

 

实例代码:

 

(function($){
    $.chuanlu = {
        formatDateObj: function(dateObj, mask) {
            // TODO 格式化日期对象,返回格式化后日期字符串
        },
        parseDateStr: function(dateStr, mask) {
            // TODO 解析日期字符串,返回日期对象
        }
    }
})(jQuery);

 

 

2、对象级别的插件开发

 

对象级别的插件开发有如下的两种定义格式:

 

格式一

 

(function($) {
    $.fn.pluginName = function(options) {
         // TODO 插件实现代码
    };
})(jQuery);

 

格式二

 

(function($){
    $.fn.extend({
        pluginName:function(options){
            // TODO 插件实现代码
        }
    });
})(jQuery);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics