在<a> link within an item that has click event</a>上阻止javascript

时间:2014-10-23 16:04:34

标签: javascript html

对于div的结构,如下:

<div id="magicPopUp">
  <div><a href="somewhere">Link1</a> Other content goes here</div>
  <div><a href="somewhere">Link2</a> Other content goes here</div>
  <div><a href="somewhere">Link3</a> Other content goes here</div>
  <div><a href="somewhere">Link4</a> Other content goes here</div>
  <div><a href="somewhere">Link5</a> Other content goes here</div>
  <div><a href="somewhere">Link6</a> Other content goes here</div>
</div>

有一个事件绑定到包含div magicPopUp做某事(让我们说弹出一个)。当点击“其他内容”时,通常会触发此事件。

如何在直接点击链接时阻止此事件触发?

链接按预期工作并转到页面,但JS也会被触发。只是想阻止JS。

1 个答案:

答案 0 :(得分:1)

查看event.stopPropagation()

以下是如何做到的:

var links = document.getElementsByTagName("a");
for(var i = 0; i < links.length; i++){
    links[i].addEventListener("click", function(e){
       e.stopPropagation(); 
    });
}

在此处试试:JSFiddle