Как предотвратить выбор текста в Google Chrome?
Не oEvent.preventDefault(); работать в GC? Мне нужно предотвратить выбор текста при срабатывании события onmove.
РЕДАКТИРОВАТЬ: Оказывается, это очень просто...
function disableSelection() {
document.onselectstart = function() {return false;} // ie
document.onmousedown = function() {return false;} // others
}
function enableSelection() {
document.onselectstart = null; // ie
document.onmousedown = null; // others
}
После этого в событии перемещения не будет выбран текст (т.е. на событии select - ie - really ie!)
Ответы
Ответ 1
-webkit-user-select: none
Стиль CSS определяет, разрешено ли пользователю выбирать
текст элемента.
Для полноты, это охватывает все поддерживающие браузеры (IE не считается веб-браузером):
.no-select
{
user-select: none;
-o-user-select:none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
}
Чтобы сделать это через Javascript, просто создайте класс и добавьте атрибуты node.
Ответ 2
Для этого используйте JavaScript:
var el = document.getElementById("myElement"), s = el.style;
s.userSelect = "none";
s.webkitUserSelect = "none";
s.MozUserSelect = "none";
el.setAttribute("unselectable", "on"); // For IE and Opera
Обратите внимание, что для IE и Opera атрибут unselectable
не наследуется дочерним элементом, поэтому для любых дочерних элементов el
также потребуется unselectable
для установки "on"
.