У меня есть такая функция, которая берет данные из AJAX и передает их в DOM.
function populateProfile(arr) {
let items = ``;
for (let i = 0; i < arr.length; i++) {
const { title, sport, members, membersLimit, description, _id } = arr[i];
const { lat, long } = arr[i].location;
items = items.concat(`
<div id="${_id}" class="post-item">
<div class="post-item-list">
<ul>
<li><h4>${title}<h4></li>
<li>Sport: ${sport}</li>
<li>Max players: ${membersLimit}</li>
<li>Current players: ${members}</li>
<li> Description: <p>${description}</p></li>
<li>${lat},${long}</li>
</ul>
</div>
</div>
`);
}
$('#ownPosts').append(items);
}
Для этой функции я назначил идентификатор самому первому div, который является контейнером.для всех элементов.
У меня есть следующая функция: прослушиватель событий щелчка, который должен захватить идентификатор нажатого элемента div и передать его viewSinglePost, который является запросом AJAX, чтобы вернуть данные для одного сообщения.и отобразить его в DOM как модальный.
function popPost() {
$('#ownPosts').on('click', '.post-item', (event) => {
const singlePost = event.target.id
viewSinglePost(singlePost);
});
}
В настоящее время popPost () будет запускаться только при нажатии ТОЛЬКО на элемент div с классом «post-item».Если я щелкну ul или li или какие-либо дочерние элементы элемента div.post, он не сработает, даже если они находятся в div.
Итак, я спрашиваю, как получить прослушиватель щелчковчтобы зарегистрировать этот щелчок по любому из дочерних элементов div.post-item, элементов grandchild и т. д., он будет обрабатываться так, как если бы он нажал div.post-item?
Заранее благодарен за помощь.