事件触发函数中的this,target,currentTarget,srcElement

要解释其中的区别,首先要理解浏览器的事件机制,

     现在主流的浏览器事件基本是先捕获再冒泡,IE浏览器只有冒泡阶段

     

事件是在冒泡阶段触发的

看看这个HTML 当我点击"我是父节点的时候".  事件是从 body->#parent->#child(捕获阶段)  然后(冒泡阶段) #child->#parent(触发事件)->body

好 事件机制了解了,看看下面的定义

this                   指触发事件的节点,

e.target             指当前点击的元素,

e.currentTarget  指触发事件的节点(和this相同),

e.srcElement      兼容IE等效this,

       注,当e.attacheEvent存在的时候,this指window对象.接下来看看这个事件绑定

       这是一个事件委托,当点击我是子节点的时候,事件在#child节点触发,所以this和e.currentTarget都指的是#child,

        对了 $(this) 可不等于$(e.currentTarget)被JQ包装后是二个不同的对象

 

posted @ 2016-10-14 17:23  雷霆崖带头哥  阅读(185)  评论(0编辑  收藏  举报