Есть ли пользователь-выбор для Opera 10.62 и IE9?
Я пытаюсь применить user-select
для Opera 10.62 и IE9 без успеха. Я не могу/не буду связывать события с JavaScript, которые preventDefault()
, потому что существует так много мест, которые нельзя выбрать, и мне все равно нужно сохранить выбор в нескольких местах. Фактически, я хочу, чтобы поведение по умолчанию было невыбираемым для всего документа, и для этого я установил следующее в моей таблице стилей:
* {
-o-user-select: none;
-webkit-user-select: none;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-ms-user-select: none;
user-select: none;
}
Все отлично работает с Firefox 4, Chrome 7 и Safari 5. Только IE9 и Opera 10.62 работают не так, как хотелось бы. Любые идеи?
PS: Я ориентируюсь на современные браузеры.
Ответы
Ответ 1
Вы пытались использовать ::selection {color:currentColor;background:transparent}
?
Для Firefox вы можете использовать ::-moz-selection
.
https://developer.mozilla.org/En/CSS/::selection
http://msdn.microsoft.com/en-us/library/ff974109(v=VS.85).aspx
http://reference.sitepoint.com/css/pseudoelement-selection
//update//
Также существует свойство unselectable.
Ответ 2
Вы можете использовать комбинацию -webkit-user-select: none;
, -moz-user-select: none;
и конкретного свойства unselectable="on"
, как я описал здесь:
Как сделать текст невыбираемым на странице HTML
Ответ 3
user-select не является стандартным свойством CSS3, поэтому нет выбора пользователя или -o-user-select или -ms-user-select. Раньше это было в старой спецификации интерфейса пользователя, но это было заменено спецификацией Basic UI. Вероятно, он никогда не будет реализован ни одним браузером, если он не будет добавлен обратно в спецификацию.
Выбор пользователя - это поведение, а не стиль, поэтому лучше всего использовать JavaScript. Как упоминает Кну, вы можете использовать unselectable вместо этого.
Ответ 4
Использование jquery:
$('.element').mousedown( function(e) {
e.preventDefault();
});
Но вам может потребоваться добавить его как к элементу, так и к контейнеру.
Ответ 5
-ms-user-select: none;
похоже, теперь работает нормально (IE 10/11)