码迷,mamicode.com
首页 > Web开发 > 详细

jQuery学习-事件之绑定事件(六)

时间:2015-03-15 13:39:10      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

在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 ) {
10         /*
11          如果是event对象
12          * */
13         this.originalEvent = src;//将原生的event对象存于Event中
14         this.type = src.type;//事件类型
15 
16         // Events bubbling up the document may have been marked as prevented
17         // by a handler lower down the tree; reflect the correct value.
18         /*
19          修正isDefaultPrevented方法
20          * */
21         this.isDefaultPrevented = src.defaultPrevented ||
22                 src.defaultPrevented === undefined &&
23                 // Support: IE < 9, Android < 4.0
24                 src.returnValue === false ?
25             returnTrue :
26             returnFalse;
27 
28     // Event type
29     } else {
30         //如果event是事件名称
31         this.type = src;
32     }
33 
34     // Put explicitly provided properties onto the event object
35     //赋值自定义属性
36     if ( props ) {
37         jQuery.extend( this, props );
38     }
39 
40     // Create a timestamp if incoming event doesn‘t have one
41     this.timeStamp = src && src.timeStamp || jQuery.now();//时间戳
42 
43     // Mark it as fixed
44     this[ jQuery.expando ] = true;//标识event已被处理过
45 };

这个对象不复杂,对吧!

jQuery学习-事件之绑定事件(六)

标签:

原文地址:http://www.cnblogs.com/urols-jiang/p/4339593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!