Взгляните на одно из патентованных событий IE, которые можно отменить, onselectstart
.
$("#123").bind("selectstart", function (evt) {
evt.preventDefault();
});
Рабочий пример (требуется IE 6-10): http://jsfiddle.net/AndyE/Cp76b/
Объедините этот обработчик с вашим текущим решением. Обратите внимание, что некоторые браузеры могут отключить выбор пользователя с помощью свойства CSS3 user-select
или атрибута unselectable
(IE, только Opera). Например:
<input type="text" id="123" unselectable="on">
#123 {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
Рабочий пример обновлен: http://jsfiddle.net/AndyE/Cp76b/2
Это делает решение JavaScript избыточным в этих браузерах, но дает преимущество отключения выбора для тех пользователей, у которых отключен JS.