Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Cannot read property 'addEventListener' of null (https://javascript.ru/forum/css-html/80613-cannot-read-property-%27addeventlistener%27-null.html)

join 30.06.2020 08:25

Cannot read property 'addEventListener' of null
 
Привет. Решение наверняка было, не могу найти сам.

Вопрос:
function getId(id){return document.getElementById(id)};
function cb(){
	console.log( 'end' )
}
getId('lesson').addEventListener('transitionend', cb);

/*
Error: Uncaught TypeError: Cannot read property 'addEventListener' of null
    at HTMLDocument.<anonymous>
*/

На странице отсутствует тег с id="lesson".
Как избавится красиво от этой ошибки?

laimas 30.06.2020 10:34

Устанавливать обработчик по окончании загрузки документа.

рони 30.06.2020 11:01

join,
function getId(id){return document.getElementById(id)/*||document.createElement('div')*/|| {addEventListener: _=>_} };

SuperZen 30.06.2020 11:14

делегирование
https://stackoverflow.com/questions/...child-elements

join 30.06.2020 11:50

Цитата:

Сообщение от рони
function getId(id){return document.getElementById(id) || {addEventListener: _=>_} };

рони, что делает этот код?

join 30.06.2020 11:51

Цитата:

Сообщение от laimas (Сообщение 526623)
Устанавливать обработчик по окончании загрузки документа.

вроде работает через "load".
спасибо:)

рони 30.06.2020 16:05

Цитата:

Сообщение от join
что делает этот код?

избавляет от ошибки :lol:
возможно вам нужно было сформулировать вопрос иначе, не как избавится от ошибки, а как сделать код рабочим.


Часовой пояс GMT +3, время: 06:13.