Как я могу запретить выделение текста в Google Chrome? - PullRequest
18 голосов
/ 06 февраля 2010

Не 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
}

После этого при событии перемещения не запускается выделение текста (т. Е. При событии выбора, т. Е. Действительно, т. Е.!)

Ответы [ 2 ]

45 голосов
/ 06 февраля 2010

-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, просто создайте класс и добавьте атрибуты узла.

19 голосов
/ 06 февраля 2010

Чтобы сделать это с помощью 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".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...