如何开发一个JQuery插件


Posted in 面试题 onJuly 28, 2016
JQuery有两种开发插件的方法:
jQuery.fn.extend(object);
jQuery.extend(object);
jQuery.extend(object);方法为扩展jQuery类本身.并为类添加新的方法。
jQuery.fn.extend(object)方法是给jQuery对象添加方法。
jQuery.fn = jQuery.prototype.
虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。
jQuery便是一个封装得非常好的类,比如我们用 语句 $(“#btn1″) 会生成一个 jQuery类的实例。
jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。如:
$.extend({
add:function(a,b){return a+b;}
});
便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,
$.add(3,4); //return 7
jQuery.fn.extend(object); 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。
比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:
Java代码
1. $.fn.extend({
2.
3. alertWhileClick:function(){
4.
5. $(this).click(function(){
6.
7. alert($(this).val());
8. });
9.
10. }
11.
12. });
13.
14. $(“#input1″).alertWhileClick(); //页面上为:
$.fn.extend({
alertWhileClick:function(){
$(this).click(function(){
alert($(this).val());
});
}
});
$(“#input1″).alertWhileClick(); //页面上为:
$(“#input1″) 为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。
jQuery提拱了丰富的操作文档,事件,CSS ,Ajax、效果的方法,结合这些方法,便可以开发出更加 Niubility 的插件。

Tags in this post...

面试题 相关文章推荐
PHP如何去执行一个SQL语句
Mar 05 面试题
如何用PHP实现邮件发送
Dec 26 面试题
你常见到的runtime exception
Sep 05 面试题
如何在Cookie里面保存Unicode和国际化字符
May 25 面试题
Java多态性的定义以及类型
Sep 16 面试题
*p++ 自增p 还是p所指向的变量
Jul 16 面试题
关于递归的一道.NET面试题
May 12 面试题
程序集与命名空间有什么不同
Jul 25 面试题
关于VPN
Jun 10 面试题
解决方案设计综合面试题
Aug 31 面试题
什么时候用assert
May 08 面试题
送给程序员的20个Java集合面试问题
Aug 06 面试题
什么是GWT的Entry Point
Aug 16 #面试题
AJAX的优缺点都有什么
Aug 18 #面试题
DOM和JQuery对象有什么区别
Nov 11 #面试题
主要的Ajax框架都有什么
Nov 14 #面试题
如何用JQuery进行表单验证
May 29 #面试题
Ajax主要包含了哪些技术
Jun 12 #面试题
如何整合JQuery和Prototype
Jan 31 #面试题
You might like
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
js实现搜索栏效果
2018/11/16 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
python 实现图片裁剪小工具
2021/02/02 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
英文版区域经理求职信
2013/10/23 职场文书
法人授权委托书
2014/04/03 职场文书
个人考核材料
2014/05/15 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
通信工程求职信
2014/07/16 职场文书
单位工作证明
2014/10/07 职场文书
公司联欢会主持词
2015/07/04 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
Python实现科学占卜 让视频自动打码
2022/04/09 Python