Campos de entrada selecionáveis ​​e textaras, mas nenhum outro conteúdo selecionável no Firefox?

StackOverflow https://stackoverflow.com/questions/1396187

  •  22-09-2019
  •  | 
  •  

Pergunta

Preciso impedir que os usuários selecionem elementos na minha interface do usuário da web, exceto para texto em campos de entrada e textaras. Para o Firefox, a técnica parece ser usar este CSS:

* { -moz-user-select: none; }

E isso funciona bem o suficiente (Firefox testado 3.5.2), exceto que você não pode selecionar em campos de entrada ou textaras.

Eu tentei dividi -lo em

div,td,span,img { -moz-user-select: none; }
input,textarea { -moz-user-select: text; }

No entanto, se o campo de entrada estiver dentro de uma div, td ou span, ele não será selecionado. Parece que a propriedade de seleção-usuário -moz também é aplicada a todas as crianças, não importa se essas crianças substituem o cenário. Alguém sabe uma maneira de contornar isso, além de estabelecer isso em um nível muito mais granular (e irritante) para elementos específicos?

NOTA Isso não é para fins de segurança. Estou bem fazendo com que os usuários visualizem usuários de origem ou avançado desativando isso. Mas para a interface do usuário da Web com funcionalidade de arrastar e soltar, ou apenas aqueles que devem se comportar como um aplicativo em geral, e não como um documento, é realmente estranho poder selecionar acidentalmente o texto. E isso acontece frequentemente para a maioria dos usuários.

Foi útil?

Solução

* { -moz-user-select: -moz-none; }
input,textarea { -moz-user-select: text; }

Outras dicas

Você está lutando contra uma causa perdida. Se eu realmente quiser selecionar texto na sua página ou obtê -lo de alguma forma, eu o farei.

No entanto, em sua pergunta. Tente adicionar! IMPORTANTE até o final, então parece o seguinte:

div,td,span,img { -moz-user-select: none; }
input,textarea { -moz-user-select: text !important; }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top