javascript - 在 React 中使用 onClick 处理程序维护 href "open in new tab"

标签 javascript reactjs

我在表格单元格上有一个可以正确触发的 onClick (React) 处理程序,但是我想保留标签上有 href 为您提供的“在新选项卡中打开”功能。

尝试将两者组合在一个元素上当然不会按预期工作:

<td onClick={this.someFunction} href="someLink">
  ...some content
<td>

以前,我研究过在表格单元格内嵌套一个 anchor 标记,跨越整个高度,因此每当右键单击单元格的内容时,我可以“在新选项卡中打开”并仍然保留 onClick表格单元格元素上的 处理程序。然而,这种方法存在各种问题,outlined here .

TLDR:覆盖会导致其他问题。解决方案存在各种兼容性问题。

所以我放弃了这种方法,转而采用上面解释的方法。想法/建议? 有没有办法在不使用 anchor /href 的情况下使用“在新选项卡中打开”选项?

最佳答案

这里有两个选项,您可以使用 JS 在新窗口/选项卡中打开它:

<td onClick={()=> window.open("someLink", "_blank")}>text</td>

但更好的选择是使用常规链接,但将其设置为表格单元格:

<a style={{display: "table-cell"}} href="someLink" target="_blank">text</a>

关于javascript - 在 React 中使用 onClick 处理程序维护 href "open in new tab",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45046030/

相关文章:

javascript - 如何根据角色动态显示菜单选项

javascript - React.js 中每个项目的计数器

javascript - 使用 javascript/html 根据文本框值计算数据

javascript - vue.js:597 [Vue warn]: 属性或方法 "$t"未定义

javascript - javascript 中使用 Date-fns 的当前时间和 UTC 时间格式之间的差异

reactjs - 在 create-react-app 托管服务器上使用代理的 Axios 帖子不起作用

reactjs - 使用可以从多个页面触发的 React Modal react/next.js

javascript - 元素用户界面 : Emitting an event on sort caret click

Javascript:动态设置onclick并传入元素本身

javascript - 单击按钮时如何取消文件上传