为了提高效率,我会针对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}}索引,添加/删除类等