开发者社区> 老朱教授> 正文

jQuery插件开发学习笔记

简介:
+关注继续查看

  今天想了解一下jQuery的插件开发,于是google了一下,列在前面的两篇文章都很不错,jQuery插件开发全解析 更是将插件开发的方方面面细致入微的进行了讲解,并提供了PDF进行下载。笔者今天详细的阅读了这篇文章并记录了一些笔记。

 

  1.类级别的插件开发

  我是这样理解的:jQuery是类,$是jQuery的别名,$('selector')为jQuery对象

  这种插件类似为jQuery类添加静态的方法,然后我们就可以像在C#中调用静态方法一样使用插件。添加静态方法的途径有两种:

复制代码
jQuery.alert = function () {
alert("这是一个jQuery的提示框");
}

jQuery.confirm = function () {
confirm("这是一个JQuery的提示框");
}
复制代码

 

  相应的调用:$.alert(); $.confirm();

  另一种方法的代码如下:

jQuery.extend({
alert: function () { alert("这是一个jQuery的提示框"); },
confirm: function () { confirm("这是一个JQuery的提示框"); }
});

  这种是通过jQuery提供的extend方法进行功能的扩展,调用的方法同上。

  另外,为了避免与其它jQuery插件的冲突,我们可以添加自己的命名空间:

jQuery.sample = {
alert: function () { alert("这是一个jQuery的提示框"); },
confirm: function () { confirm("这是一个JQuery的提示框"); }
};

  添加了命名空间后的调用:$.sample.alert(); $.sample.confirm();

  2.对象级别的插件开发

复制代码
/*

这种写法的说明:
var fn = function(para){
//code...
}
fn(jQuery);

先定义一个方法,再立即执行这个方法
这种写法的好处:我们在写jQuery插件时,也可以使用$这个别名,而不会与prototype引起冲突.

*/
(function ($) {
$.fn.extend({
hilight: function (options) {
var opts = $.extend($.fn.hilight.defauts, options);
this.css("color", opts.color).css("background-color", opts.bgcolor);
}
});

$.fn.hilight.defauts = {
color: 'red',
bgcolor: 'white'
};
})(jQuery);
复制代码

  jQuery推荐这种写法,好处就在上面的注释部分。

  在这段代码中我们将defaults暴漏出来,允许用户直接访问并设置defaults值,这样做的好处,是只需要在一处设置默认值以后,别处都可以直接使用,而不用每次传递参数。当然,我们仍然可以传递参数,以改变手工设置的默认值。

  我们还可以通过暴漏defaults的相同方法来暴漏一些可供别人扩展的方法;如果需要将一个方法或属性私有化,只需要在闭包中定义,而不要提供相应的引用。

 

  3.总结

  jQuery为开发插件提拱了两个方法,分别是:

    jQuery.fn.extend(object); 给jQuery对象添加方法。fn 是什么东西呢?原来 jQuery.fn = jQuery.prototype,jQuery.fn.extend(object)是对jQuery.prototype进行的扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

    jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。可以理解为jQuery添加静态方法。

  

  最后提供相应的pdf下载:《jQuery插件开发全解析》

  




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2012/04/05/2433483.htmlX,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MAVEN学习笔记之Maven生命周期和插件简介(3)
MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立。 clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所有文件 post-clean 执行清理后的工作 compile validate
1140 0
jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作、事件绑定(2) ————————————————————学习目录———————————————————————— 4.DOM操作 5.事件绑定 源码地址: https://github.com/iyun/jQueryDemo.git ————————————————————学习目录———————————————————————
1449 0
Android插件化开发之动态加载技术学习
Android插件化开发之动态加载技术学习 为什么要插件化开发和动态加载呢?我认为原因有三点: 可以实现解耦 可以解除单个dex函数不能超过65535的限制 可以给apk瘦身,比如说360安全卫士,整个安装包才13.
1885 0
android插件开发机制
<div class="article_title" style="margin:5px 0px; font-size:20px; line-height:30px; font-family:'Microsoft YaHei'"> <span style="font-size:16px">插件机制实质上就是由主体程序定义接口,然后由插件去实现这些接口,以达到功能模块化。Android系统
1053 0
jQuery学习笔记之概念(1)
jQuery学习笔记之概念(1) ——————————————————————学习目录———————————————————— 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuery的Ajax ———————————————————————————————————————————————— 前言:当前流行的JavaScript库有:
1338 0
Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十八】
  《Web 前端开发精华文章推荐》2013年第六期(总第十八期)和大家见面了。梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 CSS3 技术应用,推荐优秀的 网页设计 案例,共享精美的设计素材和优秀的 Web 开发工具,希望这些精心整理的前端技术文章能够帮助到您。
1899 0
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
原文:从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用...
1051 0
discuz x2.5 广告位开发学习(第二步:制作)
第一步: 查看  1 脚本位置:source/class/adv/adv_headerbanner.php    2  语言包位置:source/language/adv/lang_headerbanner.
859 0
+关注
3546
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载