jQuery学习-事件之绑定事件(六)
2015-03-15 12:55
465 查看
在jQuery中,为了屏蔽event对象在各浏览器中的差异性,它使用了自定的Event对象,如下:
1 jQuery.Event = function( src, props ) {
2 // Allow instantiation without the 'new' keyword
3 //instanceof 用于判断一个变量是否某个对象的实例
4 if ( !(this instanceof jQuery.Event) ) {
5 return new jQuery.Event( src, props );
6 }
7
8 // Event object
9 if ( src && src.type ) {
/*
如果是event对象
* */
this.originalEvent = src;//将原生的event对象存于Event中
this.type = src.type;//事件类型
// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
/*
修正isDefaultPrevented方法
* */
this.isDefaultPrevented = src.defaultPrevented ||
src.defaultPrevented === undefined &&
// Support: IE < 9, Android < 4.0
src.returnValue === false ?
returnTrue :
returnFalse;
// Event type
} else {
//如果event是事件名称
this.type = src;
}
// Put explicitly provided properties onto the event object
//赋值自定义属性
if ( props ) {
jQuery.extend( this, props );
}
// Create a timestamp if incoming event doesn't have one
this.timeStamp = src && src.timeStamp || jQuery.now();//时间戳
// Mark it as fixed
this[ jQuery.expando ] = true;//标识event已被处理过
};
这个对象不复杂,对吧!
1 jQuery.Event = function( src, props ) {
2 // Allow instantiation without the 'new' keyword
3 //instanceof 用于判断一个变量是否某个对象的实例
4 if ( !(this instanceof jQuery.Event) ) {
5 return new jQuery.Event( src, props );
6 }
7
8 // Event object
9 if ( src && src.type ) {
/*
如果是event对象
* */
this.originalEvent = src;//将原生的event对象存于Event中
this.type = src.type;//事件类型
// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
/*
修正isDefaultPrevented方法
* */
this.isDefaultPrevented = src.defaultPrevented ||
src.defaultPrevented === undefined &&
// Support: IE < 9, Android < 4.0
src.returnValue === false ?
returnTrue :
returnFalse;
// Event type
} else {
//如果event是事件名称
this.type = src;
}
// Put explicitly provided properties onto the event object
//赋值自定义属性
if ( props ) {
jQuery.extend( this, props );
}
// Create a timestamp if incoming event doesn't have one
this.timeStamp = src && src.timeStamp || jQuery.now();//时间戳
// Mark it as fixed
this[ jQuery.expando ] = true;//标识event已被处理过
};
这个对象不复杂,对吧!
相关文章推荐
- jQuery 事件绑定(event)学习笔记
- jQuery学习-事件之绑定事件(四)
- jQuery事件绑定方法学习总结(推荐)
- jQuery学习笔记---模态对话框,添加、编辑、删除(注意:click中绑定click,delegate:给后来元素自动添加事件)
- jquery事件学习(普通,表单事件,及绑定和移除)
- jQuery学习笔记 —— 2. DOM操作和 3. 事件绑定
- jquery动态添加元素绑定事件学习记录
- 记录学习jquery的绑定事件的两种方式
- jQuery学习-事件之绑定事件(二)
- jQuery学习笔记之DOM操作、事件绑定(2)
- jQuery学习-事件之绑定事件(七)
- jQuery学习笔记:事件绑定
- 关于jquery input textare 事件绑定及用法学习
- jQuery学习-事件之绑定事件(三)
- jquery学习记录一:jquery动态添加html元素后设置其绑定事件
- jquery 深入学习笔记之一 (事件绑定)
- jquery 深入学习笔记之中的一个 (事件绑定)
- 深入学习jQuery事件绑定
- jquery的bind、delegate、on、one绑定事件学习记录
- js学习笔记(二):JQuery中的On绑定事件的方法