如何将文本超链接放置在可单击的div标签中,以便在单击时仅触发超链接

姆瓦森

我有一些包含文本的可单击div。在某些情况下,文本本身是超链接。

我通常希望能够单击div并触发它的onclick动作,但是当直接单击超链接时,我只希望超链接动作而不是div onclick动作触发。

以下示例代码说明了该问题-单击超链接时,div变为红色(onclick),并且google在新标签页中打开。在这种情况下,我只希望Google在新标签页中打开。单击div上的其他任何位置时,颜色应更改为红色。

提前致谢,

丹尼斯

<div id="myDiv" style="height:60px;width:200px;border:solid" onclick="this.style.color='red';"}>
This is NOT a hyperlink.
<br><br>
<a href="https://www.google.com" target="_blank">This IS a hyperlink.</a>
</div>
肋前缘

您可以添加事件监听器,监听click事件,然后检查target而不是currentTarget

您只需要检查target(被单击的实际元素)不是a标签即可。在这种情况下,您将更改currentTarget(事件侦听器所应用于的元素)的颜色

这是一个工作片段:

document.getElementById('myDiv').addEventListener('click', (e) => {
  if (!e.target.matches('a')) {
    e.currentTarget.classList.add('color');
  }
});
div {
  height: 60px;
  width: 200px;
  border: solid
}

.color {
  color: red;
}
<div id="myDiv">
This is NOT a hyperlink.
<br><br>
<a href="https://www.google.com" target="_blank">This IS a hyperlink.</a>
</div>

注意-我已经修改了代码以使用正确的CSS而不是内联样式。从长远来看,这有更多的里程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Excel中的数百个文本URL转换为可单击的超链接?

如何将数据附加到变量并使其可单击超链接

单击时如何在jquery中访问超链接属性

在 UITextView 中触发超链接文本单击和普通文本单击

将Div类附加到超链接类-然后在单击时将超链接克隆并附加到容器

如何使GridView排序-标题成为超链接(可单击)

从单击的超链接获取文本

单击点时,绘制散点图超链接

防止在拖动/按住时单击超链接

单击TextView超链接时出错

单击超链接时显示 DOM 元素

当我单击超链接时,如何停止Excel?

如何获得使用jQuery附加的单击时超链接的ID

如何单击Windows 8 RichEditBox超链接?

RichTextBox单击事件中的WPF超链接

如何在php中的文本中放置超链接

如何检测用户单击WebView控件中的超链接的时间?

如何通过单击VBA中的超链接来插入行

PHP 在单击时将超链接字符串存储到变量中

使用jQuery单击超链接

TFS和单击超链接

jQuery自动单击超链接

如何从<a> html标签提取超链接文本?

如何将文本与其中的超链接居中对齐?

使用jstree ui时,如何单击jstree中的叶节点以打开其超链接?

单击时如何使Byobu终端在浏览器中打开超链接?

如何在单击相应超链接时隐藏/显示qstn的答案,以及如何使用jQuery动态更改此超链接的文本?

如何在Pandas和Jupyter Notebook中创建带有可单击超链接的链接到本地文件的表

当在同一页面中的超链接被单击时,如何使按钮被隐式单击