我正在尝试从根元素中捕获每张卡上的 id。但是,每次单击嵌套元素时,都会得到空字符串。但是,我在收听根元素卡时想要包装卡中的 id。我想同时处理冒泡和捕获情况,因为这是更大结构的一部分。我只想要 vanilla js 和 Javascript 的答案,请不要使用 css。
cards.addEventListener('click', evt => {
if (evt.target !== evt.currentTarget) {
var clickedItem = evt.target.id
console.log(clickedItem);
}
});
.card {
/* Add shadows to create the "card" effect */
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
transition: 0.3s;
}
/* On mouse-over, add a deeper shadow */
.card:hover {
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
/* Add some padding inside the card container */
.container {
padding: 2px 16px;
}
<div id="cards" style="margin: auto; width: 50%;">
<div class="card" id="1234567"><img src="img_avatar.png">
<div class="container">
<h4>1st Note</h4>
<p>Note Body</p>
</div>
</div>
<div class="card" id="1234547"><img src="img_avatar.png">
<div class="container">
<h4>2nd Note</h4>
<p>Note Body2</p>
</div>
</div>
<div class="card" id="721680"><img src="img_avatar.png">
<div class="container">
<h4>3Note Body</h4>
<p>Note Body3</p>
</div>
</div>
</div>