Поддержка браузера по состоянию на май 2021 года event.target.id

#javascript #addeventlistener

Вопрос:

Я проверил в https://www.caniuse.com но я не думаю, что это подходящее место (из того, что я понял, это больше касается CSS и HTML).

Я в основном слушаю событие «animationend», и я хочу знать идентификатор элемента, который вызвал событие, чтобы скрыть его:

   var element = document.getElementById("animconfetti");
  element.addEventListener("animationend", listener, false);
  function listener(event) {
    var id = event.target.id
    document.getElementById(id).style.display = 'none'
  }
 

Он работает в МОЕЙ настройке (в основном Firefox), но у меня действительно нет доступа к Safari Mobile, Opera, Safari на macOS, Chrome Mobile, браузеру Samsung… Итак, я хотел бы знать, насколько «безопасна» и «совместима» эта команда.

Спасибо

Комментарии:

1. event.target Это будет тот элемент, который вызвал событие , и если он есть id , event.target.id он будет существовать. Я бы не знал браузера, в котором этот базовый механизм не работал.

2. Для добавления будет доступен не только идентификатор, но и стиль. Так что getElementById вам здесь ничего не делает.

3. @Кит, я не понимаю, что ты имеешь в виду. Код работает. Вы имеете в виду, что я могу сделать что-то вроде event.target.id.style.display=»нет»?

4. НЕТ, я имею в виду, что ты можешь сделать это так event.target.style.display='none'