Какой подход является более правильным, чтобы получить элемент в документе с фокусом? - PullRequest
1 голос
/ 20 января 2010

Я прошел через пару вопросов, уже заданных в связи с этим, и нашел два общих подхода.

  1. Имейте глобальный элемент и обновите его, прикрепив событие onFocus () к каждому элементу.
  2. document.activeElement и иметь следующий код для обновления элемента в случае старого браузера, который не поддерживает свойство

    var focusedElement;
    document.addEventListener("focus", function(e) {
        focusedElement = e.target;
    }, true);
    document.addEventListener("blur", function(e) {
        focusedElement = null;
    }, true);
    

Теперь мой вопрос: какой из них более правильный / простой / эффективный подход из двух? Зачем? Спасибо всем,

1 Ответ

1 голос
/ 20 января 2010

Ваше решение 1 ужасно неэффективно. Прикрепить обработчик событий к каждому (фокусируемому) элементу на странице, когда вы можете прикрепить его к самому телу? Это не правильный / простой / эффективный способ сделать это наверняка. Решение 2 выглядит довольно хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...