【问题标题】:Right click open in new tab is not available on routerlink withhin a div tag右键单击在新选项卡中打开在 div 标签内的 routerlink 上不可用
【发布时间】:2019-06-17 08:28:28
【问题描述】:

我有一个div 元素或tr 元素,并且上面有一个路由器链接。

因为它不是a 标签,所以没有右键单击和“在新选项卡中打开”或strg + 单击在新选项卡中打开的选项。

但我想实现这个功能,所以如果用户想在新标签中打开链接,他可以像描述的那样做。我无法将我的 tr 更改为 a 标签。

是否有可能在没有a 标签的情况下获得此功能“在新标签中打开”?

【问题讨论】:

标签: html angular router routerlink


【解决方案1】:

href 重新加载页面不需要在 SPA 中使用。

它仅适用于锚标签以在右键单击使用时显示菜单。比如“在新标签页中打开”

它可以用在按钮上。

您可以根据自己的目的使用下面的代码。

默认在新标签中打开 = target="_blank"

<a target="_blank" [routerLink]="'/edit/'+prop.id"> 

<a [routerLink]="'/edit/'+prop.id">

【讨论】:

    【解决方案2】:

    不,只有链接具有href 属性。

    从那里,有两个选择:

    • 即时创建链接
    • 附加一个链接作为你的元素的直接子元素

    即时创建链接:

    <tr (click)="inNewTab()">
    
    inNewTab() {
      const link = document.createElement('a');
      link.href = '';
      link.target = '_blank';
      link.click();
      link.remove();
    }
    

    使用链接作为直接元素:

    <tr>
      <a href="" target="_blank">...</a>
    </tr>
    
    tr > a[target="_blank"] {
      display: block;
      height: 100%;
      width: 100%;
    }
    

    【讨论】:

    • 我们可以使用不带href的锚标签。 href 重新加载网站,所以我们需要我提供的最佳解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多