zoukankan      html  css  js  c++  java
  • 事件:target与currentTarget区别

     

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

    复制代码
     1     <div id="outer" style="background:#099">  
    2 click outer
    3 <p id="inner" style="background:#9C0">click inner</p>
    4 <br>
    5 </div>
    6
    7 <script type="text/javascript">
    8 function G(id){
    9 return document.getElementById(id);
    10 }
    11 function addEvent(obj, ev, handler){
    12 if(window.attachEvent){
    13 obj.attachEvent("on" + ev, handler);
    14 }else if(window.addEventListener){
    15 obj.addEventListener(ev, handler, false);
    16 }
    17 }
    18 function test(e){
    19 alert("e.target.tagName : " + e.target.tagName + " e.currentTarget.tagName : " + e.currentTarget.tagName);
    20 }
    21 var outer = G("outer");
    22 var inner = G("inner");
    23 //addEvent(inner, "click", test);
    24 addEvent(outer, "click", test);
    25 </script>
    复制代码

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

    本文转自:萤火开发网

    作者:月高不知归

  • 相关阅读:
    查询URL字符串参数
    location 对象
    css3 文字特效
    functionDo
    css3 渐变
    [LeetCode][Java]Peeking Iterator
    [LeetCode][JavaScript]Expression Add Operators
    [LeetCode][JavaScript]Different Ways to Add Parentheses
    [LeetCode][JavaScript]Move Zeroes
    [LeetCode][JavaScript]Binary Tree Postorder Traversal
  • 原文地址:https://www.cnblogs.com/qiuzhimutou/p/4815810.html
Copyright © 2011-2022 走看看