jquery插件开发全指南

这大概是自己在这个上面的最后一个博客了,自己的博客搭建的差不多了,现在在写一个markdown支持插件,写好了之后将来就要迁移到自己的博客上去了,这个博客还会经常来看,毕竟记录了大二大三自己所走诸多的弯路。(当然最后这篇文章不是自己写的,从网上找来整理了一下)

jQuery插件的开发包括两种:

一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。

1、类级别的插件开发

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

1.1 添加一个新的全局函数

添加一个全局函数,我们只需如下定义:

jQuery.foo = function() {
       
alert('This is a test. This is only a test.');   
};    
1.2 增加多个全局函数 添加多个全局函数,可采用如下定义:
jQuery.foo = function() {    
alert('This is a test. This is only a test.');   
};   
jQuery.bar = function(param) {    
alert('This function takes a parameter, which is "' + param + '".');   
};    

调用时和一个函数的一样的:jQuery.foo();jQuery.bar();或者$.foo();$.bar('bar');

1.3 使用jQuery.extend(object); 

jQuery.extend({       
foo: function() {       
alert('This is a test. This is only a test.');       
},       
bar: function(param) {       
alert('This function takes a parameter, which is "' + param +'".');       
}      
});  

1.4 使用命名空间

虽然在jQuery命名空间中,我们禁止使用了大量的javaScript函数名和变量名。但是仍然不可避免某些函数或变量名将于其他jQuery插件冲突,因此我们习惯将一些方法封装到另一个自定义的命名空间。

jQuery.myPlugin = {           
foo:function() {
              
alert('This is a test. This is only a test.');           
},           
bar:function(param) {
              
alert('This function takes a parameter, which is "' + param + '".');     
}          
};   
采用命名空间的函数仍然是全局函数,调用时采用的方法:   
$.myPlugin.foo();          
$.myPlugin.bar('baz');  
通过这个技巧(使用独立的插件名),我们可以避免命名空间内函数的冲突。 2、对象级别的插件开发 对象级别的插件开发需要如下的两种形式:、 形式1:
(function($){
         
$.fn.extend({      
pluginName:function(opt,callback){
         
          // Our plugin implementation code goes here.        
}      
})  
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值