读jQuery之九 一些瑕疵说明


Posted in Javascript onJune 21, 2011

1,bind 方法,最后一个参数fn是多余的

// Handle object literals 
if ( typeof type === "object" ) { 
for ( var key in type ) { 
this[ name ](key, data, type[key], fn); 
} 
return this; 
}

2,注释
// Add which for click: 1 === left; 2 === middle; 3 === right

应修改为
// Add which for mousedown/mouseup : 1 === left; 2 === middle; 3 === right

3,data方法,定义了局部变量internalKey,但后续代码仍然沿用jQuery.expando。
var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache,

4,jQuery.event.add方法,arguments改为e,apply改为call 更好一些。因为只会传一个参数:事件对象。
elemData.handle = eventHandle = function( e ) { 
// Discard the second event of a jQuery.event.trigger() and 
// when an event is called after a page has unloaded 
return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? 
jQuery.event.handle.apply( eventHandle.elem, arguments ) : 
undefined; };

5,基于 “勿重复检测浏览器” 原则,jQuery.event.add 以下代码
if ( elem.addEventListener ) { 
elem.addEventListener( type, eventHandle, false ); } else if ( elem.attachEvent ) { 
elem.attachEvent( "on" + type, eventHandle ); 
}

应该使用以下来替换
jQuery.addEvent = document.addEventListener ? 
function( elem, type, handle ) { 
if ( elem.addEventListener ) { 
elem.addEventListener( type, handle, false ); 
} 
} : 
function( elem, type, handle ) { 
if ( elem.attactEvent ) { 
elem.attactEvent( "on" + type, handle ); 
} 
};

事实上,jQuery中已经有了jQuery.removeEvent,却不知为何没有jQuery.addEvent。
Javascript 相关文章推荐
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
Mar 09 Javascript
jquery和js实现对div的隐藏和显示方法
Sep 26 Javascript
jquery图片切换实例分析
Apr 15 Javascript
jquery获取当前元素索引值用法实例
Jun 10 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
javascript获取wx.config内部字段解决微信分享
Mar 09 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
Jul 01 Javascript
基于jquery实现五星好评
Nov 18 jQuery
react中使用css的7中方式(最全总结)
Feb 11 Javascript
亲自动手实现vue日历控件
Jun 26 Javascript
vue.js实现图书管理功能
Sep 24 Javascript
javascript实现拖拽碰撞检测
Mar 12 Javascript
读jQuery之八 包装事件对象
Jun 21 #Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
Jun 21 #Javascript
读jQuery之六 缓存数据功能介绍
Jun 21 #Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
Jun 20 #Javascript
读jQuery之五(取DOM元素)
Jun 20 #Javascript
读jQuery之四(优雅的迭代)
Jun 20 #Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
Jun 20 #Javascript
You might like
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Django的分页器实例(paginator)
2017/12/01 Python
python和shell获取文本内容的方法
2018/06/05 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
python join方法使用详解
2019/07/30 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
Python如何输出百分比
2020/07/31 Python
Python发送邮件实现基础解析
2020/08/14 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
项目专员岗位职责
2013/12/04 职场文书
体育课课后反思
2014/04/24 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server