addEventListener在点击li的时候-防止这个如果链接被点击在li里面
addEventListener on clicked li - prevent this if a link is clicked that is inside the li
在单击的列表项上有一个addEventListener。我想防止这个addEventListener,如果一个链接被点击,是在列表项。
http://jsfiddle.net/8xea1eku/-在这个例子中。如果this
是被单击的链接,我想阻止切换操作。我该怎么做呢?
<div class="faq">
<ul>
<li>
asdasdasdasdaa
<span class="answerswer">
<a href="http://google.com">clickme</a> jdiajdoi asjdoiaj sdoiaj odsjaso djaosdj oaisjdo.
</span>
</li>
<li>
asdasd
<span class="answerswer">
sadoia hdoas jdiajdoi asjdoiaj sdoiaj odsjaso djaosdj oaisjdo
</span>
</li>
<li>
asdasdasdasd
<span class="answerswer">
sadoia hdoas jdiajdoi asjdoiaj sdoiaj odsjaso djaosdj oaisjdo
</span>
</li>
</ul>
</div>
if (document.getElementsByClassName('faq').length > 0) {
var faqItems = document.querySelectorAll('.faq li');
for (var i = 0; i < faqItems.length; i++) {
faqItems[i].addEventListener('click', function () {
this.classList.toggle("active");
});
}
}
使用事件对象查看被单击的内容。
faqItems[i].addEventListener('click', function (e) {
if (e.target.nodeName==="A") return;
this.classList.toggle("active");
});
相关文章:
- tiltSlider播放/暂停视频元素(如果li有当前类)
- 如果 li 少于 3 个字符,请隐藏
- jQuery bind()-如果LI点击事件触发,则阻止HTML点击事件触发
- 如果损坏图像,隐藏li
- 展开子菜单列表 OL,如果其列表 li 中的任何一个具有活动类
- 检查所有 li 如果一个有活动类,那么只有父 ul addclass
- 如果所有LI的类名相同,如何获取当前LI文本
- 如果所有li子元素都具有CSS样式显示,则隐藏父元素:none
- 如果id不在JSON中,如何使用jQuery隐藏li标记
- 如何添加数据切换到链接标签,如果在li中有ul
- 如果它的父元素为li,则查找ul
- 如果存在,请选择li classname
- 如果内容是某个字符串,则向li添加类
- 如果父元素li有class,将class附加到子元素
- 风格& lt; li>如果单选按钮被选中-怎么
- 如果选择了另一个li,则设置字体粗细
- addEventListener在点击li的时候-防止这个如果链接被点击在li里面
- 如果窗口宽度小于991px,设置为nav >Li:不可点击
- 移动到UL内部并更改LI类,如果有.has_children类
- 从数组中填充li元素,如果选中:false(打开/关闭按钮),则删除重复项并添加值