首页 > 其他分享 >target与currentTarget

target与currentTarget

时间:2022-08-24 15:11:59浏览次数:49  
标签:target 元素 currentTarget querySelector document 节点

在符合 DOM2 标准的浏览器中,事件对象都具有以下属性和方法。

target表示当前事件最终捕获到的目标。

<div class="a">
  我是第一个节点 a
  <div class="b">
    我是第二个节点 b
    <div class="c">
      我是第三个节点 c
      <div class="d">
        我是第四个节点 d
        <div class="e">
          我是第五个节点 e
          <div class="f">
            我是最里面的一个元素 f
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="result" style="margin-top: 16px;"></div>

<script>
  var resultEle = document.querySelector('.result');

  document.querySelector('.a').addEventListener('click', function(e) {
    resultEle.innerText = '捕获到的元素类名是' + e.target.className;
  });
</script>

可以看到事件绑定在类名为 a 的节点上,点击其子节点的时候,子节点就是最终捕获到的元素。

通过 currentTarget 可以获取到目前触发事件的元素。

<div class="a">
  我是第一个节点 a
  <div class="b">
    我是第二个节点 b
    <div class="c">
      我是第三个节点 c
      <div class="d">
        我是第四个节点 d
        <div class="e">
          我是第五个节点 e
          <div class="f">
            我是最里面的一个元素 f
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="result" style="margin-top: 16px;"></div>

<script>
  var resultEle = document.querySelector('.result');

  document.querySelector('.a').addEventListener('click', function(e) {
    resultEle.innerText = [
      '当前触发事件的元素的类名是:',
      e.currentTarget.className,
      '。当前捕获到的元素类名是:',
      e.target.className,
    ].join('');
  });
</script>

不论点击的是哪个子节点,currentTarget 都是表示当前触发事件的节点。

标签:target,元素,currentTarget,querySelector,document,节点
From: https://www.cnblogs.com/jinGang66/p/16620012.html

相关文章