javascript - 单击 div 内的链接触发 div 的 onclick

标签 javascript jquery html css event-handling

我有一个简单的问题:一个包含链接的 div,并且该 div 定义了一个 onclick 函数。然而,当我点击链接时,我只想跟随链接,而不是触发包含 div 的功能。

Fiddle

HTML

<div>
  <a href="http://www.google.com" target="_blank">Google</a>
</div>

JQuery

$('div').click(function() {
  alert("test");
});

CSS

div {
  height: 100px;
  width: 200px;
  border: 1px solid red
}

所以在这里,当我单击 div 时,会显示一个警告:没关系。单击链接时,我不希望显示警报。

如何避免这种情况?

最佳答案

您可以将 event.stopImmediatePropagation(); 应用于链接。根据 API,这会阻止其余的处理程序被执行,并防止事件冒泡到 DOM 树 (https://api.jquery.com/event.stopimmediatepropagation/)。

这是 fiddle :http://jsfiddle.net/dxrdrqrc/

关于javascript - 单击 div 内的链接触发 div 的 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37256011/

相关文章:

javascript - 从一个页面 URL 重定向到另一个页面

Javascript,对象属性显示为未定义

javascript - 为什么我的指令不能与 ng-bind-html 指令一起使用?

javascript - 限制或延迟来自 AngularJS 服务的 http 请求

javascript - 重新启用 event.preventDefault();

javascript - JQuery 图像悬停之前/之后

javascript - 无法使用 jquery 和 php $_GET 导出 html 表

javascript - 如何在页面刷新时保留 javascript/jquery 对 DOM 所做的更改

javascript - 在 JQuery 中隐藏和显示 ul 中的特定元素

html - 表格背景图片顶部居中使用 html - 而不是 css