Jquery插件写法笔记整理


Posted in Javascript onSeptember 06, 2012

jQuery插件类型:
1. jQuery方法:
大部分jQuery插件都是这种类型的插件,由于这种插件是将对象方法封装起来,在jQuery选择器获取jQuery对象过程中进行操作,从而发挥jQuery强大的选择器优势。
2. 全局函数:
也可以把自定义的功能函数独立附加到jQuery命名空间下,从而作为jQuery作用域下的一个公共函数使用。但全局函数没有被绑定到jQuery对象上,故不能在选择器获取的jQuery对象上调用。需要通过jQuery.fn()或$.fn()方式进行引用。
3. 选择器:
觉得jQuery提供的选择器不够用,或不方便的话,可以考虑自定义选择器。
jQuery插件机制:
① jQuery.extend()方法:能够创建全局函数或选择器。
By:所谓全局函数,就是jQuery对象的方法,实际上就是位于jQuery命名空间内部的函数,有人把这类函数称为实用工具函数,这些函数都有一个共同特征,就是不直接操作DOM元素,而是操作Javascript的非元素对象,或者执行其他非对象的特定操作,如jQuery的each()函数和noConflict()函数
例:在jQuery命名空间上创建两个公共函数

jQuery.extend({ 
minValue : function(a,b){ 
return a<b?a:b; 
}, 
maxValue : function(a,b){ 
return a<b?b:a; 
} 
}) 
$(function(){ 
$("input").click(function(){ 
var a = prompt("请输入一个数值?"); 
var b = prompt("请再输入一个数值?"); 
var c = jQuery.minValue(a,b); 
var d = jQuery.maxValue(a,b); 
alert("你输入的最大值是:" + d + "\n你输入的最小值是:" + c); 
}); 
}) 
<input type="button" value="jQuery插件扩展测试" />

※ jQuery.extend()方法除了可以创建插件外,还可以用来扩展jQuery对象。
例如:调用jQuery.extend()方法把对象a和对象b合并为一个新的对象,并返回合并对象将其赋值给变量c
var a = {name : "zhu",pass : 123} 
var b = {name : "wang",pass : 456,age : 1} 
var c = jQuery.extend(a,b); 
$(function(){ 
for(var name in c){ 
$("div").html($("div").html() + "<br />"+ name + ":" + c[name]); 
} 
})

例:创建jQuery全局函数
jQuery.css8 = { 
minValue : function(a,b){ 
return a<b?a:b; 
}, 
maxValue : function(a,b){ 
return a<b?b:a; 
} 
} 
$(function(){ 
$("input").click(function(){ 
var a = prompt("请输入一个数值?"); 
var b = prompt("请再输入一个数值?"); 
var c = jQuery.css8.minValue(a,b); 
var d = jQuery.css8.maxValue(a,b); 
alert("你输入的最大值是:" + d + "\n你输入的最小值是:" + c); 
}); 
})

By:如果要向jQuery命名空间上添加一个函数,只需要将这个新函数制定为jQuery对象的一个属性即可。其中jQuery对象名也可以简写为$,jQuery.css8==$.css8
② jQuery.fn.extend()方法:能够创建jQuery对象方法。
例:来个最简单的jQuery对象方法
jQuery.fn.test = function(){ 
alert("这是jQuery对象方法!"); 
} 
$(function(){ 
$("div").click(function(){ 
$(this).test(); 
}); 
})
Javascript 相关文章推荐
jquery中动态效果小结
Dec 16 Javascript
基于jquery的固定表头和列头的代码
May 03 Javascript
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
优化Jquery,提升网页加载速度
Nov 14 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
Dec 08 Javascript
jquery实现输入框实时输入触发事件代码
Dec 21 Javascript
vue的状态管理模式vuex
Nov 30 Javascript
微信小程序实现列表下拉刷新上拉加载
Jul 29 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 Javascript
vue配置nprogress实现页面顶部进度条
Sep 21 Javascript
Vue axios获取token临时令牌封装案例
Sep 11 Javascript
基于jquery的用鼠标画出可移动的div
Sep 06 #Javascript
js防止表单重复提交实现代码
Sep 05 #Javascript
javascript面向对象入门基础详细介绍
Sep 05 #Javascript
说说JSON和JSONP 也许你会豁然开朗
Sep 02 #Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 #Javascript
Javascript中的delete介绍
Sep 02 #Javascript
JS判断当前日期是否大于某个日期的实现代码
Sep 02 #Javascript
You might like
PHP 错误之引号中使用变量
2009/05/04 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
PHP chop()函数讲解
2019/02/11 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
2019/05/16 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
秘书岗位职责
2013/11/18 职场文书
个人课题方案
2014/05/08 职场文书
煤矿安全承诺书
2014/05/22 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
个性发展自我评价2015
2015/03/09 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers