源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

读jQuery之九 一些瑕疵说明

  • 时间:2020-06-15 13:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:读jQuery之九 一些瑕疵说明
1,bind 方法,最后一个参数fn是多余的
[u]复制代码[/u] 代码如下:
// Handle object literals if ( typeof type === "object" ) { for ( var key in type ) { this[ name ](key, data, type[key], fn); } return this; }
2,注释
[u]复制代码[/u] 代码如下:
// Add which for click: 1 === left; 2 === middle; 3 === right
应修改为
[u]复制代码[/u] 代码如下:
// Add which for mousedown/mouseup : 1 === left; 2 === middle; 3 === right
3,data方法,定义了局部变量internalKey,但后续代码仍然沿用jQuery.expando。
[u]复制代码[/u] 代码如下:
var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache,
4,jQuery.event.add方法,arguments改为e,apply改为call 更好一些。因为只会传一个参数:事件对象。
[u]复制代码[/u] 代码如下:
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 以下代码
[u]复制代码[/u] 代码如下:
if ( elem.addEventListener ) { elem.addEventListener( type, eventHandle, false ); } else if ( elem.attachEvent ) { elem.attachEvent( "on" + type, eventHandle ); }
应该使用以下来替换
[u]复制代码[/u] 代码如下:
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。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部