отключение выделения текста не работает в IE с использованием jquery - PullRequest
0 голосов
/ 07 ноября 2011

Я попытался отключить выделение текста с помощью JQuery. Он отлично работает в Firefox, но не в IE. У меня есть поле ввода текста с идентификатором, скажем 123. Для этого элемента заполненный текст не должен быть разрешен для выбора. Может ли кто-нибудь предоставить мне пример кода? Я использую IE 6.

Ответы [ 2 ]

8 голосов
/ 07 ноября 2011

Взгляните на одно из патентованных событий 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.

2 голосов
/ 07 ноября 2011

Попробуйте: у меня нет IE6, но это работает для IE7 по крайней мере

   $("#123").bind( "selectstart", function(e){
    e.preventDefault();
    return false;
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...