【发布时间】:2020-08-25 11:15:24
【问题描述】:
当我在按钮上创建点击事件监听器时,如果在按钮内部点击了 SVG,则事件目标是 <use xlink:href="#star-filled"></use>,而不是注册到点击事件的元素。
如何防止它捕获子元素作为目标元素?
HTML
<button type="button" class="rp-form-rating-btn">
<svg class="rp-star-icon rp-star-four" data-rating="4">
<use xlink:href="#star-filled"></use>
</svg>
</button>
JavaScript
var stars = document.querySelectorAll('.rp-form-rating-btn');
for (var i = 0; i < stars.length; i++) {
stars[i].addEventListener('click', event => {
console.log(event.target);
}, false);
}
【问题讨论】: