我的应用程序中有一个卡片 div。当用户点击这个卡片元素时,它应该触发一个模式。但是,我似乎无法为卡片元素内的所有元素附加事件监听器。
卡片元素如下所示:
<div class="card" data-id=${index}>
<div class="card-img-container">
<img class="card-img" src="${thumbnail}" alt="profile picture">
</div>
<div class="card-info-container">
<h3 id="name" class="card-name cap">${firstname} ${lastname}</h3>
<p class="card-text">${email}</p>
<p class="card-text cap">${city}, ${state}</p>
</div>
</div>
如何创建一个监听卡片元素内所有元素的事件监听器?这是我的事件监听器的样子:
document.querySelector('.card').addEventListener('click', (e) => {
let dataId = parseInt(e.target.dataset.id);
let user = users[dataId];
showModal(user);
document.getElementById('modal-close-btn').addEventListener('click', () => {
const modal = document.querySelector('.modal-container');
document.body.removeChild(modal);
});
});