1 линейное решение для ХРОМА:
body.style.webkitUserSelect = "none";
и FF:
body.style.MozUserSelect = "none";
IE требует установки атрибута unselectable (подробности внизу).
Я проверил это в Chrome, и оно работает. Это свойство наследуется, поэтому установка его в элементе body отключит выделение во всем документе.
Подробности здесь: http://help.dottoro.com/ljrlukea.php
Если вы используете Closure, просто вызовите эту функцию:
goog.style.setUnselectable(myElement, true);
Он прозрачно обрабатывает все браузеры.
Браузеры без IE обрабатываются так:
goog.style.unselectableStyle_ =
goog.userAgent.GECKO ? 'MozUserSelect' :
goog.userAgent.WEBKIT ? 'WebkitUserSelect' :
null;
Определено здесь:
http://closure -library.googlecode.com / СВН /! СВН / Ьс / 4 / багажник / закрытие / GOOG / Docs / closure_goog_style_style.js.source.html
Часть IE обрабатывается так:
if (goog.userAgent.IE || goog.userAgent.OPERA) {
// Toggle the 'unselectable' attribute on the element and its descendants.
var value = unselectable ? 'on' : '';
el.setAttribute('unselectable', value);
if (descendants) {
for (var i = 0, descendant; descendant = descendants[i]; i++) {
descendant.setAttribute('unselectable', value);
}
}