处理带孩子的事件委托

时间:2018-02-12 17:06:19

标签: javascript html event-delegation

为了提高效率,我会针对nav而非每个li跟踪点击事件。但是,每个li都有一组span个标记。我需要操纵点击的li并获得它的位置(索引)。但是,我的e.target正在显示我的span代码,而不是li。我理解为什么,但我不确定是谁阻止它。我的HTML是:

<nav id="nav">
  <ul>
    <li><span class="num">1</span><span class="text">Contact</span></li>
    ...
  </ul>
</nav>

我的js基本上是:

  const nav = document.getElementById('nav');
  nav.addEventListener('click',navClick,false);
  function navClick(e) {
    console.log(e);
    e.stopPropagation();
  }

我知道我可以使用closest('li')来查看我是否在li,但是当我需要抓住{{}时,它似乎没有给我我想要的东西{1}}索引,添加/删除类等

0 个答案:

没有答案