@maestro07

Как слушать клик в child div-ах?

Использую 2gis в проекте. 2gis сам рисует div элементы.
На карте есть маркеры(попап). Мне надо узнать именно какой маркер был нажат?
let list = document.getElementById('mapwrapper').getElementsByClassName('leaflet-marker-pane')[0].getElementsByClassName('leaflet-interactive');
console.log(list);

let tmp = document.getElementById('mapwrapper').getElementsByClassName('leaflet-marker-pane')[0].getElementsByClassName('leaflet-interactive')[0].addEventListener('click', e => {
        console.log(e);
        console.log(e.target);
});


в div-е классом leaflet-interactive есть N div-ов. При клике на маркер, когда открывается попап добавляется класс dg-customization__marker_disappear.
Как привязать addEventListener для child div?

и вообще как можно во vue реализовать обработчик на div элементы?
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 2
hzzzzl
@hzzzzl
у этих дивов есть какой то общий селектор, по которому их можно отловить?
в крайнем случае наверно сработает по селектору "div.leaflet-interactive > div" или как то так

document.body.addEventListener('click', e => {
  if(e.target.matches('.super-selector')) { 
    // e.target - кликнутый элемент
  }
})
Ответ написан
Fragster
@Fragster
помогло? отметь решением!
Вероятно можно обойтись прослушиванием клика на родительском элементе? Почитайте про параметр useCapture у addEventListener https://habr.com/ru/post/126471/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы