• Как реализовать jquery event delegation на чистом js?

    Stalker_RED
    @Stalker_RED
    document.addEventListener('click', function myClickHandler(evt) { // слушаем все клики
      if (evt.target.matches('.selector')){ // проверяем был ли это клик по .selector
        // do your stuff
      }
    });

    но обычно лучше так:
    document.addEventListener('click', function myClickHandler(evt) { // слушаем все клики
      const elem = evt.target.closest('.selector');
      if (elem){ // если клик мимо, то тут null
        // do your stuff
      }
    });

    такой подход срабатывает когда внутри вашего .selector еще какие-то элементы, иконки, и прочая, и вам все равно нужно отследить. Более универсальное решение.
    Ответ написан
    4 комментария