@psyhO_octopus

Как правильно вешать события на большое количество дочерних элементов?

Я делаю компонент календаря, специфичный для нашего проекта. В этом календаре выводятся даты на год вперед, т.е. 365 дней. При клике на любую из дат мне нужно получить эту дату. И вопрос в том как это сделать.
Очевидно, что вешать обработчик на каждый элемент на есть хорошо, а хорошо повесить его только на календарь. Но как потом получать даты, не ясно.
  • Вопрос задан
  • 676 просмотров
Пригласить эксперта
Ответы на вопрос 3
Запихнуть даты в data-атрибут.
Ответ написан
IonDen
@IonDen
JavaScript developer. IonDen.com
Делается через делегирование событий, вот пример: jsfiddle.net/L29me761
$('.calendar').on('click', '.day', function () {
    var day = $(this).data('date');
    console.log(day);
});
Ответ написан
Laiff
@Laiff
Front-end developer
Реакт вешает на события только в самом документе, потом они диспатчатся по виртуальному дому, то есть обработчик и так будет один и можно создать компонент для этих дат и саму дату передавать через props
Ответ написан
Ваш ответ на вопрос

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

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