如何开发一个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面试题
Jul 29 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
Jul 30 面试题
怎样创建、运行java程序
Aug 01 面试题
什么是事务?事务有哪些性质?
Mar 11 面试题
.NET里面什么时候需要调用垃圾回收
Jun 01 面试题
ShellScript面试题一则-ShellScript编程
Mar 05 面试题
linux面试相关问题
Apr 28 面试题
Ajax的优点和缺点
Nov 21 面试题
Prototype中如何为一个元素添加一个方法
Dec 08 面试题
用Python写一个for循环的例子
Jul 19 面试题
介绍一下mysql的日期和时间函数
Mar 28 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
Aug 18 面试题
什么是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设计模式 Interpreter(解释器模式)
2011/06/26 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
js取得html iframe中的元素和变量值
2014/06/30 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
JS实现li标签的删除
2019/04/12 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python实现弹窗祝福效果
2019/04/07 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
财务经理岗位职责
2013/11/09 职场文书
资产经营总监岗位职责
2013/12/04 职场文书
查摆剖析材料范文
2014/09/30 职场文书
高考学习决心书
2015/02/04 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
解析Java异步之call future
2021/06/14 Java/Android