По какой-то причине следующий код запускается только тогда, когда окно получает фокус, но не тогда, когда поля ввода получают фокус или любой другой элемент (независимо от того, есть ли у них табуиндекс или нет).Событие фокусировки не срабатывает в полях ввода (без jQuery)
Я не хочу использовать метод someElement.addEventListener, потому что элемент не привязан к представлению во время добавления прослушивателя событий.
var handleFocus = function(event) {
var el = event.target;
console.log(el);
}
addEventListener('focus', handleFocus, false);
В основном я должен слушать, когда сфокусированы поля ввода. Моя причина в том, что я хочу применить его к родительскому окну, заключается в том, что поля формы добавляются и удаляются из представления в разное время (Aurelia).
Когда событие срабатывает, я хочу иметь возможность читать свойства цели, чтобы увидеть, какие действия мне нужно предпринять.
Любая помощь на это было бы супер ...
Вы не объявляя какой элемент иметь addEventListener добавил к нему. По умолчанию используется окно i.e. myElement.addEventListener (....). Чего вы пытаетесь достичь? Если это просто подсветка элемента, то это можно сделать в CSS. – jeff
Событие 'focus' не пузырится, но MDN говорит, что вы можете заставить делегирование делегирования работать, установив параметр useCapture для addEventListener в true. Или используйте событие «focusin» вместо этого, потому что оно * делает пузырь, но MDN говорит, что он не поддерживается в FF. – nnnnnn
@nnnnnn вы говорите, что фокус не должен срабатывать, когда вы фокусируетесь на вводе? (когда вы слушаете объект окна) – 3Dom