如何开发一个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...

面试题 相关文章推荐
怎样让char类型的东西转换成int类型
Dec 09 面试题
数据库连接池的工作原理
Sep 26 面试题
请说出几个常用的异常类
Jan 08 面试题
JRE、JDK、JVM之间的关系怎样
May 16 面试题
关于Java String的一道面试题
Sep 29 面试题
编写类String的构造函数、析构函数和赋值函数
May 29 面试题
NULL是什么,它是怎么定义的
May 09 面试题
什么是静态路由?什么是动态路由?各自的特点是什么?
Sep 16 面试题
C#笔试题
Jul 14 面试题
int和Integer有什么区别
May 25 面试题
如何在Shell脚本中使用函数
Sep 06 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 面试题
什么是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中文乱码解决方案
2015/03/05 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
js的对象与函数详解
2019/01/21 Javascript
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
Python验证码截取识别代码实例
2020/05/16 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
python利用faker库批量生成测试数据
2020/10/15 Python
python实现磁盘日志清理的示例
2020/11/05 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
成功的酒店创业计划书
2013/12/27 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
学校读书活动总结
2014/06/30 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
mysql 子查询的使用
2022/04/28 MySQL