“user-select: none” and strange behaviour in Firef

2020-07-09 04:16发布

I am trying to prevent text highlighting in Firefox for some, but not all elements on the page. Consider the following:

<div style="-moz-user-select: none;">
I cannot be highlighted
    <div  style="-moz-user-select: text;">
    I should be highlightable, but am not.
    </div>
</div>

As I understand it, using the above css rules, the text of the inner div should be highlightable. However this does not appear to work. In practice none of the text can be highlighted.

I am wondering if I am doing something wrong? If not, does anyone know of a workaround for this situation?

Thanks!

ps I should add that using the alternate...

-webkit-user-select: none;

...in the above example works just fine in webkit browsers

3条回答
冷血范
2楼-- · 2020-07-09 04:30

Mozilla informs the following about the none property :

The text of the element and sub-elements will appear as if they cannot be selected. Any use of Selection however will contain these elements.

Read -moz-user-select.

查看更多
时光不老,我们不散
3楼-- · 2020-07-09 04:31

You may want to try onmousedown="return false" and you can change the cursor if you don't want the selection or pointer with cursor:

查看更多
太酷不给撩
4楼-- · 2020-07-09 04:35

Replace

<div style="-moz-user-select: none;">

with

<div style="-moz-user-select: -moz-none;">

The description of the -moz-user-select property states that -moz-none means that the text of the element and sub-elements cannot be selected, but selection can be enabled on sub-elements using -moz-user-select: text;

查看更多
登录 后发表回答