如何在 Typescript 中删除超链接上的焦点边框

Posted

技术标签:

【中文标题】如何在 Typescript 中删除超链接上的焦点边框【英文标题】:How to remove the focus border on hyperlink in Typescript 【发布时间】:2022-01-18 07:28:47 【问题描述】:

我用打字稿写代码

*"<a onclick=\"window.open(this.href,'_blank');return false;\" href=\"https://support.office.com/client/61994a3b-2c87-41c4-a88d-a6455efa362d?omkt=en-US\" >license terms</a>",

"<a onclick=\"window.open(this.href,'_blank');return false;\" href=\"https://privacy.microsoft.com/en-us/privacystatement\">privacy policy</a>");*

当运行 ts 代码时,它显示如下,第一个超链接上有一个意外的焦点框。我怎样才能删除它?谢谢!

【问题讨论】:

【参考方案1】:

您需要做的是使用activefocus 伪选择器更改样式。 不幸的是,您不能使用内联样式更改伪选择器样式。 所以你应该通过 CSS 或 JS 来做。

CSS 版本: TS 文件:

<a 
    onclick=\"window.open(this.href,'_blank');return false;\" 
    href=\"https://support.office.com/client/61994a3b-2c87-41c4-a88d-a6455efa362d?omkt=en-US\" 
    class="my-class">
    license terms
</a>

CSS 文件:

my-class:active, my-class:focus 
    outline: none;
    border: none;
    -moz-outline-style: none;

JS 版本:

<a 
    onclick=doSomething(e)
    href=\"https://support.office.com/client/61994a3b-2c87-41c4-a88d-a6455efa362d?omkt=en-US\" 
    class="my-class">
    license terms
</a>

const doSomething = (e) => 
    e.target.style.outline = "none";
    e.target.style.border = "none";
    window.open(this.href,'_blank');
    return false;

【讨论】:

谢谢,我发现这是因为在代码库中它们需要在 htmlinstance 时获得焦点,我尝试跳过代码并修复了我的问题。 if (item instanceof HTMLElement) window.focus(); item.focus();

以上是关于如何在 Typescript 中删除超链接上的焦点边框的主要内容,如果未能解决你的问题,请参考以下文章

javafx的选中控件焦点问题

删除 Google Chrome 上的输入焦点

jsp中如何给背景图上的超链接添加点击事件?

如何删除或改进:Bootstrap Carousel 上的焦点样式?

如何从 meta_key wordpress 中删除超链接

ListView 上的 LongPress 与 Android 上的超链接