Я не думаю, что я делаю что-то неправильное или прикольное здесь, но это просто не сработает ...
const elm = (this.agGridElm.nativeElement as HTMLElement);
elm.addEventListener('focus', (focusEvent: FocusEvent) => {
elm.classList.add('focused');
}, { capture: true, passive: true });
elm.addEventListener('blur', (focusEvent: FocusEvent) => {
elm.classList.remove('focused');
}, { capture: true, passive: true });
Я пытался с третьим аргументом или без него { capture: true, passive: true }
и результат тот же ... Странно то, что я могу видеть, как мои слушатели регистрируются, когда я наблюдаю в Chrome отладчике Event Listeners
, нажимая на свой элемент, я мог видеть и focus
, и blur
были подключены, но просто не сработали.
Я сделал что-то подобное с mouseleave
, и это сработало безупречно, так что же с focus
и blur
? Блок ниже работал ...
elm.addEventListener('mouseleave', (mouseEvent: MouseEvent) => {
console.log('Hi there!');
});