предотвратить ошибку консоли для addEventListener, когда его нет в DOME [закрыто]

Doctypes сообщают браузеру, на каком языке написана страница, будь то HTML или XHTML. Например,


сообщает браузеру, что страница отображается как HTML4 strict. Старые браузеры неправильно отображали страницы, поэтому новые браузеры имитируют ошибки старых браузеров, когда они находят старый doctype.

Сегодня вы должны использовать как минимум HTML4 или лучше XHTML.

A Исправить ваш сайт с помощью правильного DOCTYPE! (из A List Apart ).

-1
задан user8463989 16 January 2019 в 12:06
поделиться

2 ответа

Вы можете сначала проверить, существует ли элемент

let elem = document.querySelector(".book-now");
if (elem !== null) {
  elem.addEventListener("click", e => {
    //rest of the code
  })
}
0
ответ дан brk 16 January 2019 в 12:06
поделиться

Вместо этого вы можете использовать делегат слушателя:

document.addEventListener('click', e => {
  if (e.target.matches('.book-now') {
    // declare variables
    // send Ajax request
    // etc.
  }
})

Если вы не хотите этого (или должны слушать событие, которое не будет пузыриться), ваш единственный вариант - проверить, является ли элемент существует:

let bookNowBtn = document.querySelector(".book-now"); 
if (bookNowBtn) { 
  bookNowBtn.addEventListener('click', e => { /*...*/ }) 
}
0
ответ дан connexo 16 January 2019 в 12:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: