отключить выделение текста и добавить исключения

если я использую этот стиль для <body>

onmousedown='return false;' onselectstart='return false;'

Можно ли указать исключения, используя javascript для ввода текстовых полей и выбора? и если да, то можете ли вы показать мне, как?


person abrabr    schedule 17.01.2011    source источник


Ответы (2)


На самом деле, вы можете отключить выделение текста, не нуждаясь в громоздких обработчиках событий JavaScript. См. мой ответ здесь: Как отключить выделение выделения текста с помощью CSS?

Резюме: используйте CSS и расширение unselectable в IE.

CSS:

*.unselectable {
   -moz-user-select: -moz-none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   -o-user-select: none;
   user-select: none;
}

HTML:

<div id="foo" unselectable="on" class="unselectable">...</div>
person Tim Down    schedule 17.01.2011
comment
хорошо, это отключит выделение текста, но как мне выбрать текстовые области ввода и выбрать кнопки? - person abrabr; 17.01.2011
comment
Выполнение этого по-прежнему позволяет вам выбирать текст во входных данных и текстовых областях. - person Tim Down; 17.01.2011
comment
да да ) я проверял, но в Опере не работает... :( - person abrabr; 17.01.2011
comment
Действительно? У меня в Опере работает нормально. У вас есть тестовая страница, которую я могу увидеть? - person Tim Down; 17.01.2011

Вам необходимо предотвратить всплывающие события для текстовых полей и элементов выбора.

Вы можете использовать селектор :input для выбора всего ввода, текстовой области, выбора и элементы кнопки.

Что-то вроде

$(":input").bind("mousedown", function(e){
    e.stopPropagation();
});

См. рабочую демонстрацию.

person rahul    schedule 17.01.2011
comment
но вы заблокировали содержимое тела с помощью javascript, я хотел заблокировать с помощью css и добавить исключения с помощью javascript - person abrabr; 17.01.2011