Мне нужно отключить выделение выделенного текста в моем веб-приложении. У меня есть веская причина для этого и знаю, что это вообще плохая идея. Но мне все равно нужно это сделать. Не имеет значения, нужно ли мне использовать CSS или JS для этого. В основном я занимаюсь устранением синего цвета, выделенного для выделенных элементов.
Как отключить выделение в html или JS?
Ответ 1
U может использовать селектор псевдо-класса css (:: selection и:: - moz-selection для firefox). Пример
::-moz-selection{
background-color:Transparent;
color:#000;
}
::selection {
background-color:Transparent;
color:#000;
}
.myclass::-moz-selection,
.myclass::selection { ... }
Ответ 2
Решение CSS3:
user-select: none;
-moz-user-select: none;
Существует также префикс webkit для выбора пользователя, но он делает некоторые поля формы невозможными для фокусировки (может быть временной ошибкой), поэтому вместо webkit можно использовать следующий псевдокласс:
element::selection
Ответ 3
Я считаю, что вы имеете в виду выбор текста (например, перетаскивание мышью, чтобы выделить). Если это так, это отменяет действие выбора в IE и Mozilla:
window.onload = function() {
if(document.all) {
document.onselectstart = handleSelectAttempt;
}
document.onmousedown = handleSelectAttempt;
}
function handleSelectAttempt(e) {
var sender = e && e.target || window.event.srcElement;
if(isInForm(sender)) {
if (window.event) {
event.returnValue = false;
}
return false;
}
if (window.event) {
event.returnValue = true;
}
return true;
}
function isInForm = function(element) {
while (element.parentNode) {
if (element.nodeName.ToUpperCase() == 'INPUT'
|| element.nodeName.ToUpperCase() == 'TEXTAREA') {
return true;
}
if (!searchFor.parentNode) {
return false;
}
searchFor = searchFor.parentNode;
}
return false;
}
Ответ 4
Я думаю, что вы ищете псевдо-класс: focus. Попробуйте следующее:
input:focus {
background-color: #f0f;
}
Это придает вашему входу довольно фиолетовый/розовый цвет, если он выбран.
Я не уверен, какие свойства у вас есть (un), но я думаю, вы можете узнать себя с помощью проб и ошибок.
Также обратите внимание, что выделение или отсутствие этого браузера специфичны!
Ответ 5
Вы имеете в виду выделение текста при наведении на него мыши?
Лучший способ сделать это - использовать свойство CSS3, называемое:: selection, но, тем не менее, CSS3 пока не поддерживается. Идите вперед и посмотрите, иначе, возможно, есть способ сделать это с помощью Javascript.
Ответ 6
Если ваша конечная цель состоит в том, чтобы затруднить копирование и вставку текста, Javascript и CSS не являются правильной технологией, потому что вы не можете отключить функцию просмотра браузера.
Некоторые другие идеи (ни один из них не идеален):
- java-апплет (вы контролируете отображение и извлечение текста)
- то же самое в другом плагине браузера (flash, silverlight и т.д.)
- созданные на стороне сервера изображения (низкая производительность)