jQuery编写widget的一些技巧分享


Posted in Javascript onOctober 28, 2010

1、在编写widget的时候,一般我们需要绑定一些事件,最好将这些widget的绑定事件加上当前widget的命名空间。如果同一个jQuery对象,使用了两个widget,而两个widget都绑定了相同的事件名称,可能会出现问题。在销毁widget的时候,去除绑定事件也很方便,只需要unbind(”.namespace“)就可以了。
2、在写jQuery的时候,因为jQuery对象是支持连写的。譬如:$(obj).css("height","20px").attr("title","abc")....
3、在编写的时候可以利用javascript的原生方法来避免switch。

switch(a) 
{ 
case "aa": 


this._set_aa(); 


break; 

case "bb": 


this._set_bb(); 


break; 

case "cc" 


this._set_cc(); 


break; 
}

上面的代码可以用下面的代码替换
this["_set_"+a]();

4、尽量缓存jQuery对象,和各种变量。这样可以提高脚本的性能
5、采用变量缓存this指针,在最小化代码的时候this可以被最小化掉。
6、最好将css类名取一致的名称,然后定义变量保存起来。在使用的时候直接采用变量,这样就算css名称有调整,只需要改变变量缓存的值即可。同时代码在最小化的时候也能减小体积。
7、setOption的时候,如果一个option是复杂对象,而不是简单的值对象,最好不要简单的this.options[key]=value.而在这之前需要将value和以前的option的值做一个extend,然后在赋值,这样可以保留复杂对象原有的部分值。比如:
var a = {width:120,height:200}; 
var c={width:200}; 
a=c; 
a=$.extend(a,c);

其结果是第一个a将是{width:20},会丢失掉height:200;而下面的那个将继续保留原始的height:200。
Javascript 相关文章推荐
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
Oct 29 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
js判断鼠标左、中、右键哪个被点击的方法
Jan 27 Javascript
js实现超简单的展开、折叠目录代码
Aug 28 Javascript
分享五个有用的jquery小技巧
Oct 08 Javascript
跟我学习javascript的作用域与作用域链
Nov 19 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
AngularJS实现表单验证功能
Jan 09 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
Feb 08 Javascript
JS库 Highlightjs 添加代码行号的实现代码
Sep 13 Javascript
微信小程序中post方法与get方法的封装
Sep 26 Javascript
微信小程序实现全国机场索引列表
Jan 31 Javascript
jQuery timers计时器简单应用说明
Oct 28 #Javascript
jquery ajax abort()的使用方法
Oct 28 #Javascript
BOM与DOM的区别分析
Oct 26 #Javascript
js下判断 iframe 是否加载完成的完美方法
Oct 26 #Javascript
Javascript下判断是否为闰年的Datetime包
Oct 26 #Javascript
基于jquery的给文章加入关键字链接
Oct 26 #Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 #Javascript
You might like
php中simplexml_load_string使用实例分享
2014/02/13 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
浅析PHP开发规范
2018/02/05 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
Python实现拼接多张图片的方法
2014/12/01 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
车间工艺员岗位职责
2013/12/09 职场文书
迟到检讨书300字
2014/02/14 职场文书
市级文明单位申报材料
2014/05/07 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
付款委托书范本
2014/10/05 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python