Как обрабатывать событие клика на нескольких элементах?

Есть SVG полигоны и при нажатии на верхний первый, все работает, открывается всплывающее окно. Как изменить код, чтобы всплывающие окошки открывались при нажатии на другие полигоны. У каждого полигона окошки с разным содержимым.

  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
ktim8168
@ktim8168
Frontend Developer
Попробуй следующим образом. Определи объект с контентом для каждого полигона по id
const modalContent = {
  _001: { title: 'Some title', description: 'Some description' },
  _002: { title: 'Some title', description: 'Some description' },
  _003: { title: 'Some title', description: 'Some description' },
  _004: { title: 'Some title', description: 'Some description' },
  _005: { title: 'Some title', description: 'Some description' },
};

Затем при клике на определенный полигон, делай append соответствующего контента по id в myModal.
Пример:
$(polygon).on('click', function(e) {
  const currentId = $(e.currentTarget).attr('id);
  const {title, description} = modalContent[currentId];
  $('#myModal').append(`
    <h1>${title}</h1>
    <p>${description}</p>
  `);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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