Показать сообщение отдельно
  #4 (permalink)  
Старый 28.08.2011, 22:34
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Это сработает, только если вы для элемента запретите выделение.

Для этого в каждом браузере будет свой подход, согласно CSS3 можно использовать user-select: none (element.style.userSelect = "none"), но это будет работать только в браузерах, поддерживающих CCS3.

В IE и старых Opera браузерах можно использовать аттрибут (не стиль) элемента unselectable="on". В браузерах mozilla можно использовать css-свойство -moz-user-select: none (mozUserSelect через JS) и -webkit-user-select: none (webkitUserSelect через JS).

Таким образом полное выключение выделения внутри элемента будет выглядеть так:
.unselectable { -moz-user-select: none; -webkit-user-select: none; user-select: none; }

<div unselectable="on" class="unselectable">This content cannot be selected by mouse or keyboard.</div>


Однако следует обратить внимание, что реализация unselectable отличается от CCS3 user-select: none; тем, что выбрать unselectable элемент все равно можно, если "начать" выделение вне самого элемента. В случае CSS3 свойства выделить элемент нельзя будет и таким способом.

Но если вы уберете возможность выделения, то сможете подавить встроенный функционал браузера, согласно которому курсор меняется на "text" и поставить свой.

Последний раз редактировалось Андрей Параничев, 28.08.2011 в 22:41.
Ответить с цитированием