jQuery插件开发小结
2024-10-08 20:48:11
jQuery插件开发规范
1. 使用闭包
(function($) {
// Code goes here
})(jQuery);
这是来自jQuery官方的插件开发规范要求,使用这种编写方式有什么好处呢?
a) 避免全局依赖。
b) 避免第三方破坏。
c) 兼容jQuery操作符'$'和'jQuery '。
2. 扩展
jQuery提供了2个供用户扩展的‘基类’ - $.extend和$.fn.extend.
$.extend 用于扩展自身方法,如$.ajax, $.getJSON等;
$.fn.extend则是用于扩展jQuery类,包括方法和对jQuery对象的操作。
为了保持jQuery的完整性,趋向于使用$.fn.extend进行插件开发而尽量少使用$.extend.
demo.js
;(function($){ //“;”是为了避免代码合并等不必要的错误 $.fn.demo=function(options){
//使用对象的形式
var defaults={ //默认参数
color:'green'
}
// 将用户传进来的参数扩展覆盖默认参数
var options=$.extend({},defaults,options); //{}主要是为了创建一个新对象,保留对象的默认值
// 功能实现
this.each(function(){ //支持jQuery选择器
$(this).css('background',options.color);
});
return this; //使之能够链式操作
} })(jQuery);
demo.html
...
<title>demo</title>
<script src="jquery.js"></script>
<script src="demo.js"></script> //载入插件文件
... <div id="div1">
demo
<script>
$("#div1").demo({ //调用方式
color:'black' //如果用户不传递参数就使用默认参数
});
</script>
</div>
...
备注:官方推荐插件的命名标准写法是jquery.demo.v1.0.js或者jquery-demo-v1.0.js(jquery.插件名.版本号.js);
类级别的插件开发
1、直接给jQuery添加静态函数
jQuery.demo=function(){
//功能代码
} //调用方式:
$.demo();
2、使用extend()方法
jQuery.extend({
demo1:function(){
//功能代码
}
demo2:function(){
//功能代码
}
}); // 调用方式:
$.demo1();
$.demo2();
3、使用命名空间
jQuery.kongjian={
demo:function(){ }
} // 调用方式:
$.kongjian.demo();
最新文章
- 关于";Command /usr/bin/codesign failed with exit code 1";的解决办法
- Delphi关于记录文件的操作
- js判断页面点击事件
- 15.python笔记之psutil模块
- .net4.5 await async 简化之后的异步编程模型
- php pdo分页
- XSS的原理分析与解剖(二)
- Slickflow.NET 开源工作流引擎基础介绍(六)--模块化架构设计和实践
- HDU 4003-Find Metal Mineral(树状背包)
- 2D简单图形相关算法罗列
- HttpClient---------demo
- C#)Windows Shell 编程系列5 - 获取图标
- delphi 对抗任务管理器关闭(提升进程到Debug模式,然后设置进程信息SE_PROC_INFO)
- 《深度探索C++对象模型》笔记——Data语意学
- 七行代码开始flask
- BaseServer的介绍
- 推荐一款强大的3D家装开源软件
- Code::Blocks debug程序
- gitlab常用命令
- linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?
热门文章
- mysql字符集配置&mysql中文乱码
- yum无法安装nginx,报错内容为1:nginx-1.14.2-1.el7_4.ngx.x86_64: [Errno 5] [Errno 2] 没有那个文件或目录
- 35. docker swarm dockerStack 部署 投票应用
- ubuntu下查询网络的常用命令
- malloc 底层实现及原理
- PAT Advanced 1037 Magic Coupon (25) [贪⼼算法]
- RE数组开多大?
- windows server 2012 安装sql server集群
- Activity组件(二):通过显式意图和隐式意图来跳转至第三方应用
- redis简单了解与简单使用