альтернатива jQuery для document.activeElement

То, что я хотел сделать, выяснить каждый раз, когда пользователь занят ВХОДОМ или элементом ТЕКСТОВОЙ ОБЛАСТИ и установил переменный флаг на истинный... и установил тот флаг на ложь сразу после того, как пользователь больше не помолвлен с ними (т.е. они нажали из элементов ВХОДА/ТЕКСТОВОЙ ОБЛАСТИ).

Я использовал функцию docuemnt.ready jQuery, чтобы добавить, что onclick приписывают моему элементу тела и присваивают его моему getActive () функция.

Код для getActive () функция следующие:

function getActive()
{
  activeObj = document.activeElement;
  var inFocus = false;
  if (activeObj.tagName == "INPUT" || activeObj.tagName == "TEXTAREA")
  {
     inFocus = true;
  }
}

Я действительно хотел бы сохранить скручиванием жгутов проекта платформу jQuery, но, может казаться, не нахожу способ выполнить ту же логику выше использования ПРОСТО синтаксиса jQuery.

19
задан Brownbay 25 July 2010 в 06:42
поделиться

3 ответа

Вам нужны обработчики событий focus и blur. Например...

var inFocus = false;
$('input, textarea').focus(function() {
  inFocus = true;
});

$('input, textarea').blur(function() {
  inFocus = false;
});

Я почти уверен, что запятая даст вам input OR textarea, но вы поняли идею, если это не подходит

18
ответ дан 30 November 2019 в 03:59
поделиться

Вы можете сделать что-то вроде этого:

var focusItem = null; 
$('input, textarea').focus( function() { 
    focusItem = this; 
});
2
ответ дан 30 November 2019 в 03:59
поделиться

Является ли .blur() событие тем, что вы ищете?

1
ответ дан 30 November 2019 в 03:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: