时间:2021-05-25
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。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
几乎很难从jQuery分离其中的一部分功能。所以在这里我分享下应该读jQuery源码的一些成果,以及读源码的方法。啃代码是必须的。1.代码折叠是必须的。因此必须
起因: 今天在阅读snandy大神的读jQuery之五(取DOM元素)时,看到有讲到toArray()方法,具体jQuery代码如下:复制代码代码如下:toA
jQuery入门指南教程这个指南是一个对jQuery库的说明,要求读者了解HTML(DOM)和CSS的一些常识。它包括了一个简单的HelloWorld的例子,选
目前因特网仍然存在一些诈骗手段,所以有一些朋友虽然很想去九头蛇宝商店赚钱,但对九头蛇宝商店会有一些怀疑,想了解一些风险后决定是否注册淘宝商店,那么今天就告诉大家
在网上购物也无法避免会出现一些有瑕疵的商品,但是有些买家觉得不影响使用,也就不想去退换货了,于是就想着去跟卖家协商给予一定的赔偿,那么大家知道淘宝商品瑕疵能赔偿