Ich habe eine Tabelle und erlaube Benutzern, mehrere Zeilen auszuwählen. Dies alles wird mithilfe von jQuery-Ereignissen und einigen CSS-Anweisungen behandelt, um visuell anzuzeigen, dass die Zeile "ausgewählt" ist. Wenn der Benutzer die Umschalttaste drückt, können mehrere Zeilen ausgewählt werden. Manchmal wird dadurch Text hervorgehoben. Gibt es das überhaupt, um das zu verhindern?Hervorhebung der Hervorhebung von Text verhindern Tabelle
Antwort
Es gibt eine CSS3-Eigenschaft dafür.
#yourTable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Schade Internet Explorer ist es egal. Getestet in 6-8. –
@NathanTaylor Nach dem googeln finden Sie ein Duplikat, wo dies bereits gelöst ist: http://stackoverflow.com/questions/826782/css-rule-to-disable-text-selection-highlighting – Dan
'Validation (CSS 3.0):" moz-none "ist kein gültiger Wert für die Eigenschaft" -moz-user-select ". Tatsächlich funktionierte das nicht für Firefox, bis ich' moz-none' in 'none' änderte. – Nolonar
Sie können versuchen, mit Fokus() Funktion auf den ausgewählten Text - die Auswahl verschwindet.
$('#someEl').focus();
Wenn Sie die Kontrolle haben wollen, wenn die Benutzer auswählen können oder nicht Teile von Ihnen Website, können Sie diese little jQuery plugin verwenden.
jQuery.fn.extend({
disableSelection : function() {
return this.each(function() {
this.onselectstart = function() { return false; };
this.unselectable = "on";
jQuery(this).css('user-select', 'none');
jQuery(this).css('-o-user-select', 'none');
jQuery(this).css('-moz-user-select', 'none');
jQuery(this).css('-khtml-user-select', 'none');
jQuery(this).css('-webkit-user-select', 'none');
});
}
});
und verwenden Sie es als:
// disable selection on #theDiv object
$('#theDiv').disableSelection();
Andernfalls können Sie nur diese CSS-Attribute in Ihrem CSS-Datei als:
#theDiv
{
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Ich entferne einfach die Auswahl, die mit der Umschalttaste vorgenommen wird. Dies könnte ein wenig Flimmern zeigen obwohl
if (event.shiftKey) {
window.getSelection().removeAllRanges()
}
Nur ein Hinweis auf die Antwort von Cleiton oben - das Codebeispiel gut zu funktionieren scheint, aber um ein guter Bürger in der jQuery Welt zu sein, sollten Sie wieder die jQuery Objekt am Ende der Funktion, so dass es verkettbar - eine einfache einzeilige zusätzlich fixiert, dass bis:
jQuery.fn.extend({
disableSelection : function() {
this.each(function() {
this.onselectstart = function() { return false; };
this.unselectable = "on";
jQuery(this).css('-moz-user-select', 'none');
});
return this;
}
});
Cheers, hoffe, das ist hilfreich.
Er tut dies mit "return this.each (function() {..." – frontendbeauty
Wenn Sie JQuery UI auf Ihren Seiten haben, benutzen Sie einfach
$("element-selector").disableSelection();
Dies ist undokumentiert aber sollte funktionieren, wenn Sie jQuery UI Kern haben –
gute Sache über diese Lösung ist, dass es auch für IE und replizieren die Funktionalität von Lösungen, die bereits erwähnt wurden, wenn Sie sich den Code ansehen: – sksallaj
Beachten Sie, dass disableSelection() in jQuery UI nicht mehr unterstützt wird 1.9 – mar10
::-moz-selection { /* Code for Firefox */
color: black;
background: none;
}
::selection {
color: black;
background: none;
}
von http://www.w3schools.com/cssref/sel_selection.asp
tatsächlich aus dem try-it Abschnitt, nachdem die Werte zu ändern.
Beachten Sie jedoch, dass der Cursor immer noch 'ich' geformt ist ...
Hinweis: Das Pseudoelement :: selection wurde für CSS-Selektoren der Stufe 3 entworfen, aber vor dem Empfehlungsstatus entfernt Momentan befindet sich das Pseudo-Element :: selection in keiner Spezifikation (es kann jedoch zukünftigen CSS-Spezifikationen hinzugefügt werden). – luk2302
- 1. Hervorhebung von Rendering als Text
- 2. Sublime Text - C++ Hervorhebung
- 3. Verhindern Link ziehen, aber immer noch Text Hervorhebung
- 4. Hervorhebung von rspec in erhabenem Text 2
- 5. Stoppen Sie eine Schicht klicken Sie auf Hervorhebung von Text
- 6. Syntax Hervorhebung
- 7. Doppelklick Hervorhebung
- 8. Syntax Hervorhebung in Sublime Text 2
- 9. Tkinter: Syntax-Hervorhebung für Text-Widget
- 10. Verbessere eslint Hervorhebung in sublime-text 3
- 11. Wie deaktivieren Hervorhebung (Auswahl) Text in DIV
- 12. Hervorhebung der MySQL-Daten Ergebnisse
- 13. Elasticsearch exakte Hervorhebung
- 14. Live regulärer Ausdruck Hervorhebung
- 15. Die Hervorhebung der Icons entfernen
- 16. Visual Studio Hervorhebung Anpassung
- 17. Crystal Reports Crosstab Hervorhebung
- 18. Solr Hervorhebung von mehreren Begriffen
- 19. Vim Conceal Hervorhebung
- 20. Wie verhindern Sie, dass eine Rich-Text-Box bei der Syntax-Hervorhebung automatisch scrollt?
- 21. Hit Hervorhebung in angularjs
- 22. entfernen Hervorhebung eines Menüpunktes
- 23. Hervorhebung von Text, wie er erzählt wird (audio .mp3)
- 24. Netbeans PHP/Javascript Hervorhebung
- 25. Strukturelle Hervorhebung in Vim
- 26. Textmate-Syntax-Hervorhebung, Erweiterung Hervorhebung aus einer anderen Sprache
- 27. Wie .tpl Syntax-Hervorhebung, wie PHP-Syntax-Hervorhebung in PhpStorm
- 28. Unity Shader Hervorhebung überlappt
- 29. JqueryUI Hervorhebung falsche Zelle zeigen
- 30. SWT Syntax Hervorhebung Widget
mögliche Duplikate von [CSS-Regel zum Deaktivieren der Textauswahl Hervorhebung] (http://stackoverflow.com/questions/826782/css-rule-to- disable-text-selection-highlighting) – Dan