如何修复禁用的文本突出显示?

How to fix disabled text highlighting?

在我的 asp.net 网络应用程序中,使用最新版本的 FireFox 和 Google Chrome,文本突出显示不适用于所有输入字段(CTRL+A 也不起作用)。我还不能测试旧版本。使用 Edge 它可以正常工作。

详细信息:双击文本或在按住鼠标左键的同时将鼠标移到文本上不会突出显示文本。令人惊讶的是,拖动和 copy/paste 确实有效。所以文本实际上是 selected 但没有突出显示。

我在我的 CSS 中搜索了 disable-select 但找不到一个。

还有什么地方可以寻找原因的建议吗?

您需要搜索的 属性 不是 disable-select,而是 user-select。例如

-webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
   -khtml-user-select: none; /* Konqueror HTML */
     -moz-user-select: none; /* Firefox */
      -ms-user-select: none; /* Internet Explorer/Edge */
          user-select: none;

您可以查找的另一个 属性 是:::selection for Chrome 和 ::-moz-selection for Firefox。

此外,您还可以更改默认选择颜色以供测试:

::selection {
  background: #FF0000;
}
::-moz-selection {
  background: #FF0000;
}

我发现了什么: 在我的 CSS 中没有出现 user-select: none。但是在 Style.css 我发现:

::selection {
    text-shadow: none;
}

我改成了:

::selection {
    text-shadow: none;
    background: #f7ea54;
    /*or any other color*/
}

现在突出显示适用于所有浏览器!为什么它不能使用默认设置,我想不通。

这最终会在玩家鼠标或游戏中使用时发生。启用自动射击或其他类似的鼠标功能更改将导致这种行为。 您可以做几件事来尝试关闭这些: – 检查你的鼠标是否有这样的功能按钮 – 分析鼠标用户手册,了解按下某些按钮组合时鼠标功能的增强 – 安装制造商的鼠标应用程序(如果可用) – 设置这些时使用相同的游戏来反转它们