Поле ввода точного выбора текста - PullRequest
1 голос
/ 28 июля 2010

У меня есть поле ввода: input type = "text" class = "rulerInputText" id = "rulerInputBox" readonly
У меня есть код Javascript, чтобы обнаружить выделенный текст и поиграть с ним.

Проблема возникает, когда я разрешаю пользователю фактически выбирать текст. Текст является основным с пробелами. Когда пользователь начинает выбирать, проблем нет, но когда пробел достигнут, пользователь выбирает его, и автоматически выбирается следующее слово. По сути, я хочу предотвратить автоматический выбор всего слова. Я только хочу выбрать именно то, что пользователь хочет выбрать с помощью мыши.

Возможно ли это, или мне нужно использовать какие-то сумасшедшие взломы Javascript, чтобы сделать это?

Ответы [ 2 ]

0 голосов
/ 28 июля 2010

Это особенность IE;ни один другой браузер не имеет такого поведения.Это преднамеренная функция «умного выбора» (*), скопированная из Office, хотя в более новых версиях Office она работает менее раздражающе, позволяя вам вернуться к выбору символов, если переместить указатель назад.поскольку я не знаю, как отключить его в IE, на стороне клиента или сервера, потому что Microsoft считает, что это отличная функция.Вздох.Даже взломы JavaScript не обеспечивают обходного пути.

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

f​o​o b​a​r b​o​f z​o​t

они содержат Unicode U + 200B ZERO WIDTH SPACE между буквами.Это имеет побочные эффекты, хотя;если пользователь попытается отредактировать или скопировать и вставить текст, он получит странные невидимые символы, которые могут испортить его.

(*: Как обычно, «умный» означает повторное угадываниепользователь, обычно понимающий это неправильно, и настаивающий на том, что это правильно. Он же «глупый». Пробежать милю от всего, что описывает себя как умного.)

0 голосов
/ 28 июля 2010

Это особенность операционной системы. Предоставленное ОС текстовое поле делает автоматический выбор для лучшего user experience. Вы здесь не имеете никакого контроля. (Я только что подтвердил в IE / Windows7)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...