Событие Click запускается несколько раз одновременно - PullRequest
1 голос
/ 10 марта 2020

В функции щелчка у меня есть следующий код:

home.addEventListener('click', () => {

       myAPP.mapview.map.layers.items.forEach(item => {
            item.visible = false;
        });
       //........... }

Однако, после однократного нажатия кнопки, кажется, что он непрерывно работает / выполняется. Как я могу гарантировать, что он выполняется, то есть «сбрасывается» только один раз, только когда происходит кнопка или функция щелчка?

1 Ответ

1 голос
/ 10 марта 2020

Проблема, с которой вы столкнулись, состоит в том, что несколько элементов dom запускают одно и то же событие нажатия одновременно. У вас должно быть следующее:

home.addEventListener('click', (e) => {
  // to prevent child/parent dom elements from firing the same event.
  if( e.target !== this ) {
    return;
  }
});
...