Отключить поведение браузера по умолчанию для перемещения курсора вправо или влево при нажатии клавиш со стрелками в поле ввода - PullRequest
0 голосов
/ 23 июня 2010

Я использую Firefox для этого, но он работает в IE6 ... пойди разберись.

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

document.getElementById (ID) .select ();

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

Есть ли способ отключить это в Firefox, чтобы мой текст был выделен правильно? Типичный рабочий процесс для моих пользователей - просто нажать клавишу со стрелкой, затем начать печатать цифры ... и повторить.

Ответы [ 2 ]

1 голос
/ 24 июня 2010

Я бы сказал, что такое поведение вызвано событием keyup. Вы пытались остановить это?

edit: Да, отлично работает при отмене события keyup: http://jsfiddle.net/D6ANY/1/

0 голосов
/ 23 июня 2010

Из вашего описания мне кажется, что вы пытаетесь добиться эффекта, подобного "электронной таблице". Если это так, то поведение, которое вы реализуете , может запутать пользователей . например в электронных таблицах выбор перемещается с помощью клавиш со стрелками для каждой ячейки , но если вам нужно отредактировать ячейку, вам нужно нажать клавишу ввода . Это делает его редактируемым, а затем повторное нажатие клавиши ввода делает его доступным только для чтения

...