Javascript中, event 的 target 与 currentTarget 的差异

Javascript中, event 的 target 与 currentTarget 的区别target在事件流的目标阶段;currentTarget在事件流

Javascript中, event 的 target 与 currentTarget 的区别

target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段。只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(一般为父级)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript">function test(e){           alert("e.target.tagName : " + e.target.tagName + "\n e.currentTarget.tagName : " + e.currentTarget.tagName);      }</script></head> <body> <div id="outer" style="background:#099" onclick="test(event)">  click outer  <p id="inner" style="background:#9C0">click inner</p>  <br>      </div> </body> </html>

?

上面的示例中,当在outer上点击时,e.target与e.currentTarget是一样的,都是div;当在inner上点击时,e.target是p,而e.currentTarget则是div。

本文转自:萤火开发网

作者:月高不知归

?