Показать сообщение отдельно
  #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)?
Ответить с цитированием