2009-09-08 12 views
6

Ich muss verhindern, dass Benutzer Elemente in meiner Web-App UI, außer für Text in Eingabefeldern und Textareas auswählen. Für Firefox scheint die Technik, um diese CSS nutzen zu:Wählbare Eingabefelder und Textfelder, aber kein anderer in Firefox auswählbarer Inhalt?

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

Und das funktioniert gut genug (getestet Firefox 3.5.2), mit der Ausnahme, dass Sie in Eingabefelder oder Textfelder nicht dann auswählen können.

ich versuchte, ihn in

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

jedoch, wenn das Eingabefeld innerhalb eines div, td ist, oder Spanne Dividieren, ist es nicht wählbar ist. Es scheint, dass die Eigenschaft -moz-user-select auch auf alle untergeordneten Elemente angewendet wird, unabhängig davon, ob diese untergeordneten Elemente die Einstellung überschreiben. Kennt jemand einen Weg um dies beiseite zu legen, abgesehen davon, dass es für bestimmte Elemente auf einer viel feineren (und ärgerlichen) Ebene liegt?

HINWEIS Dies ist nicht für Sicherheitszwecke. Es ist in Ordnung, wenn Benutzer die Quelle anzeigen oder wenn fortgeschrittene Benutzer diese deaktivieren. Aber für Web-UI mit Drag-and-Drop-Funktionalität oder nur solche, die sich eher wie eine Anwendung im Allgemeinen als wie ein Dokument verhalten sollen, ist es wirklich seltsam, versehentlich Text auswählen zu können. Und es passiert oft für die meisten Benutzer.

Antwort

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

danke, es hat funktioniert !!!! – TheBrain

+0

funktioniert nicht für mich ... – jlarson

+2

ah Mist, ich habe gerade festgestellt, ich hatte "keine" nicht "-moz-none". Ich vergebe dir die Bounty, die ich gerade vergeben habe, sobald ich darf !! – jlarson

1

Sie kämpfen gegen eine verlorene Sache. Wenn ich wirklich Text von Ihrer Seite auswählen oder auf irgendeine Weise erhalten möchte, werde ich es tun.

Allerdings auf Ihre Frage. Versuchen Sie, wichtig zu Ende, so sieht es wie folgt aus:

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

Es ist nicht zu Sicherheitszwecken und ist mir egal, ob der Benutzer Quelle oder etwas sieht. Es ist, weil Leute aus irgendeinem Grund aus Versehen Sachen zufällig auswählen und es ist albern, weil das eine Anwendung ist und im Allgemeinen ui Elemente auswählt ("Knöpfe" gebildet von zusammengesetzten html Elementen zum Beispiel) fühlt sich klobig an ... – jlarson

+0

..oh und mehr wichtig, wichtig schien nicht zu helfen, ich habe es versucht, sollte erwähnt haben! danke aber – jlarson