Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.11.2013, 00:23
Интересующийся
Отправить личное сообщение для byFahrenheit Посмотреть профиль Найти все сообщения от byFahrenheit
 
Регистрация: 15.09.2012
Сообщений: 17

Блокировка keydown во время ввода в текстовом поле
Здравствуйте.
Столкнулся с проблемой следующего характера:
На странице сайта задействованы стрелки на клавиатуре. При нажатии на них, выполняются определенные действия.
function checkKey(e) {
			switch (e.keyCode) {
			case 40:
				// Перемещение объекта вверх
				break;
			case 38:
				// Перемещение объекта вниз
				break;
			case 37:
				// Перемещение объекта налево
				break;
			case 39:
				// Перемещение объекта направо
				break;
			}
		}   
$(document).keypress(checkKey);


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

Каким образом можно заблокировать событие keypress, до тех пор, пока активно любое текстовое поле на странице (input/textarea)?
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2013, 01:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вариант 1:
Проверять event.target на соответствие текстовым полям.
Вариант 2:
Навесить обработчик событий blur/focus, по focus - удалять обработчик keypress, по blur - добавлять обратно. Получится именно такая логика, какую ты хочешь.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
спрятать/показать поле ввода при нажатии на checkbox g1r Элементы интерфейса 34 16.12.2017 00:34
Position fixed, но динамический по оси ОХ tvixa Элементы интерфейса 4 09.09.2013 15:39
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Как ввести в поле ввода значение где есть javascript MOZG Общие вопросы Javascript 8 19.04.2013 10:28
Позиционирование курсора в поле ввода spider84 Элементы интерфейса 1 22.07.2010 13:03