Курсор выделяет букву как убрать
Перейти к содержимому

Курсор выделяет букву как убрать

  • автор:

В процессе ввода текста исчезает ранее введенный текст

При вводе текста в документе текст в точке вставки удаляется.

Причина

Режим overtype включен, и на клавиатуре нажата клавиша Вставка.

Решение

Отключите режим перетипа:

Параметры overtype в Word

  1. Выберите пункты Файл >Параметры.
  2. Нажмите кнопку Дополнительно.
  3. В разделе Параметры редактирования снимите флажки Использовать клавишу Вставка для управления режимом overtype и Использовать режим перетипа проверка.

Мышь: отмена выделения, невыделяемые элементы

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

Более новая информация по этой теме находится на странице https://learn.javascript.ru/selection-range.

У кликов мыши есть неприятная особенность.

Двойной клик или нажатие с движением курсора как правило инициируют выделение текста.

Если мы хотим обрабатывать эти события сами, то такое выделение – некрасиво и неудобно. В этой главе мы рассмотрим основные способы, как делать элемент невыделяемым.

Для полноты картины, среди них будут и такие, которые применимы не только к событиям мыши.

Способ 1: отмена mousedown/selectstart

Проблема: браузер выделяет текст при движении мышью с зажатой левой кнопкой , а также при двойном клике на элемент. Даже там, где это не нужно.

Если сделать двойной клик на таком элементе, то обработчик сработает. Но побочным эффектом является выделение текста браузером.

Текст

Чтобы избежать выделения, мы должны предотвратить действие браузера по умолчанию для события selectstart в IE и mousedown в других браузерах.

Полный код элемента, который обрабатывает двойной клик без выделения:

 
Двойной клик сюда выведет "Тест", без выделения

При установке на родителя – все его потомки станут невыделяемыми:

Выделение, всё же, возможно

Отмена действия браузера при mousedown/selectstart отменяет выделение при клике, но не запрещает его полностью.

Если пользователь всё же хочет выделить текстовое содержимое элемента, то он может сделать это.

Достаточно начать выделение (зажать кнопку мыши) не на самом элементе, а рядом с ним. Ведь там отмены не произойдёт, выделение начнётся, и дальше можно передвинуть мышь уже на элемент.

Способ 2: снятие выделения постфактум

Вместо предотвращения выделения, можно его снять в обработчике события, после того, как оно уже произошло.

Для этого мы используем методы работы с выделением, которые описаны в отдельной главе Выделение: Range, TextRange и Selection. Здесь нам понадобится всего лишь одна функция clearSelection , которая будет снимать выделение.

Пример со снятием выделения при двойном клике на элемент списка:

У этого подхода есть две особенности, на которые стоит обратить внимание:

  • Выделение всё же производится, но тут же снимается. Это выглядит как мигание и не очень красиво.
  • Выделение при помощи передвижения зажатой мыши всё ещё работает, так что посетитель имеет возможность выделить содержимое элемента.

Способ 3: свойство user-select

Существует нестандартное CSS-свойство user-select , которое делает элемент невыделяемым.

Оно когда-то планировалось в стандарте CSS3, потом от него отказались, но поддержка в браузерах уже была сделана и потому осталась.

Это свойство работает (с префиксом) везде, кроме IE9-:

  Строка до.. 
Этот текст нельзя выделить (кроме IE9-)
.. Строка после

IE9-: атрибут unselectable=«on»

В IE9- нет user-select , но есть атрибут unselectable.

Он отменяет выделение, но у него есть особенности:

  1. Во-первых, невыделяемость не наследуется. То есть, невыделяемость родителя не делает невыделяемыми детей.
  2. Во-вторых, текст, в отличие от user-select , всё равно можно выделить, если начать выделение не на самом элементе, а рядом с ним.
 
Этот текст невыделяем в IE, кроме дочерних элементов

Левая часть текста в IE не выделяется при двойном клике. Правую часть ( em ) можно выделить, т.к. на ней нет атрибута unselectable .

Этот текст невыделяем в IE, кроме дочерних элементов

Итого

Для отмены выделения есть несколько способов:

  1. CSS-свойство user-select – везде кроме IE9- (нужен префикс, нестандарт).
  2. Атрибут unselectable=»on» – работает для любых IE (должен быть у всех потомков)
  3. Отмена действий на mousedown и selectstart :

elem.onmousedown = elem.onselectstart = function() < return false; >;

Какой же способ выбирать?

Это зависит от задач и вашего удобства, а также конкретного случая. Все описанные способы работают.

Недостаток user-select – в том, что посетитель теряет возможность скопировать текст. А что, если он захочет именно это сделать?

В любом случае эти способы не предназначены для защиты от выделения-и-копирования.

Если уж хочется запретить копирование – можно использовать событие oncopy :

 
Уважаемый копирователь, почему-то автор хочет заставить вас покопаться в исходном коде этой страницы. Если вы знаете JS или HTML, то скопировать текст не составит для вас проблемы, ну а если нет, то увы.

При наборе текста удаляется следующая буква (а раньше она просто добавлялась к уже имеющимся). Что делать?

pechat-ta-uzhe-ne-ta

Доброго времени суток!

В офисной работе некоторые пользователи случайно включают спец. режим печати — при наборе текста удаляется следующая буква (т.е. каждый новый символ заменяет старый). Разумеется, при редактировании обычных документов — это очень не удобно и сильно раздражает! ��

Собственно, после очередного случая, когда меня побеспокоили по «этому» вопросу — решил подобную статью с «лечением» проблемы выложить не только в локальной сети, но и здесь, у себя в «офисных» заметках. Думаю, она будет весьма полезна всем неискушенным пользователям!

�� ШАГ 1: включаем режим «обычной» печати

Дело в том, что в Windows есть два режима набора текста:

  1. «вставка» — самый обычный режим, к которому все привыкли (текст при печати появляется сразу после курсора, а всё, что было справа автоматически смещается);
  2. «замена» — спец. режим, при котором новый добавленный символ появляется вместо старого, который был перед курсором (этим удобно пользоваться только в определенных случаях).

�� Важно!

1) Для переключения между режимами «вставка» и «замена» в Windows используется клавиша Insert (или «ins» на ноутбуках). Обратите внимание, что на тех же ноутбуках её нужно нажимать вместе с клавишей Fn!

2) Чтобы вернуть в первоначальный вид стёртые символы и слова — нужно нажать сочетание Ctrl+Z (можно несколько раз. ).

Разумеется, пользователи чаще всего задействуют этот режим при нажатии кнопки «0» на цифровой клавиатуре (при выключенном режиме «num lock») .

Клавиша Insert

Клавиша «Insert» (или «ins» на ноутбуках)

Собственно, как только вы столкнулись с неправильным режимом печати — просто используйте эту клавишу, и смените его. ��

Однако, тем, кто хочет вообще отключить подобный режим — порекомендую ниже пару способов.

�� ШАГ 2: как программе MS Word запретить переводить редактор в режим «замена»

Если вы сравнительно часто «натыкаетесь» на этот не очень удобный режим работы редактора (и стираете нужные слова ☝) — то, как один из вариантов решения, можно предложить вообще отключить эту «замену» (т.е. при нажатии на клавишу Insert — в Word ничего происходить не будет!).

Делается это достаточно просто: сначала нужно открыть меню «Файл/параметры» , а после во вкладке «Дополнительно» снять галочку с пункта «Использовать клавишу INS для переключения режимов вставки и замена» (см. скриншот ниже ��) .

Использовать клавишу INS для переключения режимов вставки и замена

Использовать клавишу INS для переключения режимов вставки и замена

�� ШАГ 3: еще один радикальный вариант решения — отключение клавиши Insert

Этот вариант больше подойдет пользователям с классической клавиатурой (на ноутбуках такой «фокус» проходит реже).

Суть метода заключается в том, чтобы ОС Windows «указать», что при нажатии кнопки Insert ничего не происходило (т.е. «обнулить» ее). Сделать это можно �� через редактор реестра, всего три действия:

  1. сначала открыть ветку: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Keyboard Layout ;
  2. создать в этой ветке параметр (Binary) с именем «Value Scancode Map» (без кавычек) ;
  3. ну и задать в значение параметра нижеприведенную строку (см. скрин ниже ��, более подробно об этом тут).

Отключили INS

Отключили INS

�� Кстати!

Для более простого отключения клавиши Insert — можно воспользоваться спец. утилитой MapKeyboard . Пользоваться ей очень просто: достаточно один раз запустить и установить вместо Insert что-нибудь «безобидное» (Shift, например, см. скрин ниже ��).

MapKeyboard: всего три действия для замены клавиши.

MapKeyboard: всего три действия для замены клавиши.

�� В помощь!

Как переназначить одну клавишу на другую (тем, у кого не срабатывает нажатие кнопки на клавиатуре)

Как отключить белый курсор выделения c#?

Author24 — интернет-сервис помощи студентам

помогите пожалуйста, помогает на время перезапуск, но все равно потом появляется.
белый курсор работает как кнопка delete, и если я куда то нажму, то вместо того чтобы печатать ПЕРЕД курсором, эта белая чушь заменяет буквы, и удаляет правые скобки. не возможно работать. (такого за две недели ни разу не было,), начало вчера

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как отключить курсор?
Как отключить курсор? (в консольном режиме) НЕ убрать за пределы экрана, а именно отключить. Из.

Как отключить (скрыть) курсор в консоли С++
Собственно, вопрос говорит сам за себя. Уже видел тему на эту тему ( масло масляное )), но мне не.

Как отключить курсор на форме (объекте)?
Господа, подскажите как отключить курсор на форме (например, MDI-форме) или любом другом объекте. В.

Администратор

Эксперт .NET

17037 / 13387 / 5221
Регистрация: 17.03.2014
Сообщений: 27,393
Записей в блоге: 1

Лучший ответ

Сообщение было отмечено MarkAdderly как решение

Решение

MarkAdderly, c# тут ни при чем. Это режим замены в редакторе который переключается клавишей Insert.
Регистрация: 11.03.2022
Сообщений: 60
огромное спасибо!, никогда не знал что эта клавиша делает
2619 / 2546 / 529
Регистрация: 17.02.2019
Сообщений: 4,261

MarkAdderly, Попробуйте её отключить в Visual Studio

Средства > Параметры. > Окружение > Клавиатура >
набрать команду в поле( Показать команды, содержащие: ) Правка.Режимзамены (по английски вроде так Edit.OvertypeMode)
Выбрать её ниже из списка(но скорей всего она будет одна) и внизу нажать кнопку Удалить потом ОК.

Регистрация: 15.07.2022
Сообщений: 2
OwenGlendower, спасибо, а то я уже начал сходить с ума.
Регистрация: 02.01.2023
Сообщений: 1
Спасибо, очень помогли!!
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Edit — запрет редактирования+возможность выделения+курсор ввода
Hi :good:, как у Edit запретить редактирование, оставить возможность выделения, и курсор ввода? Я.

Возможно ли отключить подчеркивания и выделения в VS 2017?
Вот как это выглядет: Волнистые линиии, точки, выделение. Может какое расширение есть, но я.

По черному экрану бегает белый курсор с синим кружком
Здравствуйте! У клиента была windows 7 (лицензия), которую летом обновили до 10. Вечером пришли.

Qt Creator. Хоткей для выделения всего слова, в котором находится курсор
Собственно сабж. Гугл не смог нагуглить то что надо. Нужен хоткей как например в IntelliJ IDEA.

Отключить курсор
Доброго времени суток! Подскажите как отключить изображение курсора побывал так .

Как отключить (системный?) звук «БИП», когда курсор доходит до конца строки?
Например, когда открываешь терминал, вводишь логин и пароль, а потом начинаешь жать стрелки.

Или воспользуйтесь поиском по форуму:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *