如何开发一个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注入
May 03 面试题
PHP经典面试题
Sep 03 面试题
大整数数相乘的问题
Jul 22 面试题
估算杭州有多少软件工程师
Aug 11 面试题
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
Dec 13 面试题
金士达面试非笔试
Mar 14 面试题
Linux如何为某个操作添加别名
Mar 01 面试题
UML设计模式笔试题
Jun 07 面试题
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
Jan 12 面试题
九州传奇上机题
Jul 10 面试题
关键字throw与throws的用法差异
Nov 22 面试题
送给程序员的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
第1次亲密接触PHP5(1)
2006/10/09 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
Python import自定义模块方法
2015/02/12 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
诉讼代理人授权委托书
2014/04/08 职场文书
礼貌问候语大全
2015/11/10 职场文书
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS