作家
登录

读jQuery之九 一些瑕疵说明

作者: 来源:www.28hudong.com 2013-03-30 00:50:54 阅读 我要评论

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。

  推荐阅读

  合并table相同单元格的jquery插件分享(很精简)

效果如下 原表格: col0 col1 col2 col3 SuZhou 11111 22222 SuZhouCity SuZhou 33333 44444 SuZhouCity SuZhou 55555 66666 SuZhouCity ShangHai 77777 88888 ShangHaiCity ShangHai uuuuu hhhhh ShangH>>>详细阅读


本文标题:读jQuery之九 一些瑕疵说明

地址:http://www.17bianji.com/kaifa2/JS/24492.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)