#javascript #javascript-events
#javascript #dom-события
Вопрос:
Мне нужно сделать addEventListener
для каждого сфокусированного элемента, в данном случае целевым элементом является textarea
. Я знаю, что могу сделать, document.getElementsByTagName('textarea')
и он получит все textarea
, что есть на странице «сейчас». но мне нужно сделать это для всех textarea
, включая то, что будет добавлено на страницу.
Я пробовал этот код:
var currentTextarea;
document.addEventListener('click', function(){
var clickedElement = (window.event) ? window.event.srcElement : e.target;
if(clickedElement.tagName.toLowerCase() === "textarea"){
currentTextarea = clickedElement;
//some code here
}
} , false);
но есть одна проблема, это работает, когда элемент фокусируется щелчком мыши. Он не работает, когда какая-либо другая функция фокусирует любую текстовую область. слишком много функций, на которых сосредоточено внимание textarea
Есть ли какой-либо другой способ сделать это?
Комментарии:
1. Используйте
focusin
событие.
Ответ №1:
Добавьте прослушиватель для focusin
события. Он выполняется независимо от того, какое внимание уделяется элементу.