Я разрабатываю приложение (игру), которым можно было бы управлять с помощью клавиатуры. Проблема в том, что он также содержит некоторые элементы ввода по умолчанию (например, поля формы входа). Чтобы игра не реагировала на нажатия клавиш, когда пользователь вводит свои учетные данные, я делаю такую проверку:
if (isDef($("*:focus").attr("id")))
return;
Она отлично работает практически во всех основных браузерах, кроме IE. В Internet Explorer элементы div также могут иметь фокус на них, и почти в каждом случае какой-либо элемент на странице имеет на них фокус. Таким образом, я хочу проверить, имеет ли фокус не какой-то элемент, а какой-то элемент, который может принимать ввод с клавиатуры. В моем случае это ограничено текстовой областью или вводом. Как проверить, есть ли фокус у элементов этих двух типов?