【问题标题】:How to change appearance of "text-selection" cursor on webpages or disable cursor changing while a text is selected in all major browsers?如何在所有主要浏览器中选择文本时更改网页上“文本选择”光标的外观或禁用光标更改?
【发布时间】:2021-12-28 21:54:55
【问题描述】:

我想防止鼠标光标在我将它移动到某些文本上时发生变化。这可能吗?

如果没有,我想更改 text-selection 光标的外观 - css / javascript 可以吗?

【问题讨论】:

    标签: javascript html css mouse-cursor


    【解决方案1】:

    试试这个...

    * {
      -webkit-user-select: none;
    }
    
    *:active,
    *:hover {
      cursor: pointer;
    }
    

    【讨论】:

    • 这个网站的想法是用户在提问之前已经做了一些研究并尝试了一些东西。这只是一个提示,并且尽可能相关......
    • 谢谢,但这在 Chrome 中不能正常工作 - 当你想选择一些文本时,光标会变为 cursor:text。
    • 我当然试过了,也许解释不好。在 Chrome 中,当您开始选择文本,或者只是用鼠标单击并拖动时,光标会自动变为“文本选择”光标。如何预防?
    • 您可以在最新示例中省略*
    • 我需要保持用户选择,我只是不想改变光标 - 在不禁用用户选择的情况下这可能吗?
    【解决方案2】:

    我认为您正在寻找的是 css 属性 "cursor:default;" - 但这实际上取决于您到底在寻找什么。带标签的示例:

    label{
        cursor:default;
    }
    

    根据您想要的光标,您可以将值从 "default" 更改为其他值。

    以下是一些值的列表(不是全部 - 但最常见的是那里): https://developer.mozilla.org/en-US/docs/CSS/cursor

    请记住,您会得到不同的结果,具体取决于浏览器/操作系统。

    【讨论】:

    • 感谢您的回复,但这并不是我想要的。是的,如果我将光标移到某个元素上,例如

      元素,我可以更改光标的类型。但是,如果我开始选择文本,我的光标无论如何都会改变 - 在 Chrome 中。

    • @JiříZmrhal 对不起,我认为这不可能(起初误解了你的问题),我在互联网上搜索过(就像你可能已经有的一样),也没有发现任何东西。我还记得失望地尝试自己做这件事。这篇文章得出了相同的结论stackoverflow.com/questions/8583785/… - 但是,如果您找到答案,请发布:)
    • 是的,也许不可能。但我认为,如果在 IE 中选择文本时禁用光标更改,它也必须在 Chrome 中工作——当然,启用文本选择:)。
    • 赞成,因为我正在寻找一种使“文本”光标消失的方法(我在可点击的 td 元素上放置了文本,但它妨碍了我)。这对我有用。谢谢,彼得。
    【解决方案3】:

    没有人愿意为每个元素显式设置光标,即使这只需要添加一个类。这是很多手工工作。

    更明智的做法是:

    * {
    cursor: inherit;
    }
    
    body {
    cursor: default;
    }
    

    这将禁用任何元素的文本选择光标,但不会干扰更改某些元素的光标属性的任何其他 CSS 或脚本。

    【讨论】:

    • 加上user-select: none,最适合桌面应用程序的行为。
    猜你喜欢
    • 2012-01-24
    • 2023-03-30
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多