Ich mag die hybride Lösung aus CSS und jQuery.
Um alle Elemente innerhalb von <div class="draggable"></div>
nicht auswählbar ist, verwenden Sie dieses CSS:
.draggable {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
.draggable input {
-webkit-user-select: text;
-khtml-user-select: text;
-moz-user-select: text;
-o-user-select: text;
user-select: text;
}
Und dann, wenn Sie jQuery verwenden, fügen Sie dies innerhalb einer $(document).ready()
Block:
if (($.browser.msie && $.browser.version < 10) || $.browser.opera) $('.draggable').find(':not(input)').attr('unselectable', 'on');
Ich denke, Sie wollen immer noch, dass alle Eingabeelemente interaktiv sein können, daher die :not()
Pseudo-Selektor. Sie könnten verwenden '*'
wenn es Sie nicht interessiert.
Achtung: Internet Explorer 9 benötigt dieses zusätzliche jQuery-Teil möglicherweise nicht, daher sollten Sie dort eine Versionskontrolle hinzufügen.
11 Stimmen
Können Elemente innerhalb der Element-Hexe hat Hervorhebung deaktiviert, haben Hervorhebung mit in css in der Stil oder Klasse-Attribut aktiviert? oder mit anderen Worten, gibt es andere Werte für -webkit-user-select ect. andere als nur none?
11 Stimmen
Verwandt: stackoverflow.com/questions/16600479/ \= wie nur einige der untergeordneten Elemente ausgewählt werden können
15 Stimmen
In einigen Browsern gibt es einen Fehler, bei dem die Funktion "Alles auswählen" (CTRL+A und CMD+A) immer noch Dinge auswählt. Dies kann mit einer transparenten Auswahlfarbe bekämpft werden:
::selection { background: transparent; } ::-moz-selection { background: transparent; }
21 Stimmen
Ich kann nur sagen: Bitte tun Sie das nicht. Aus meiner Erfahrung heraus, habe ich mehr als einmal tatsächlich wollen um einen Text auszuwählen, der auch als Schaltfläche dient, um ihn an anderer Stelle einzufügen. Es wäre unvorstellbar ärgerlich, das nicht tun zu können, weil irgendein Webentwickler sich die Mühe gemacht hat, diese Funktion absichtlich für mich zu deaktivieren. Bitte tun Sie das also nicht, es sei denn, Sie haben eine sehr, sehr aus gutem Grund.
4 Stimmen
Im Jahr 2017 ist es besser, die
postcss
yautoprefixer
und Browser-Version einstellen, dannpostcss
alles cool machen.2 Stimmen
Die Benutzeroberfläche wurde geändert. Im Jahr 2019 befinden sich alle drei genannten Punkte nun in einem Hamburger-Menü oben links. "Tags" y "Benutzer" sind dort zu finden, und "Fragen" heißt jetzt "Stack Overflow" (mit einem Symbol davor).