点击子元素时动态元素的click绑定事件失效问题
解决动态元素子元素点击事件不触发的问题
你的问题在于点击子元素(如svg)时,evt.target指向的是子元素而非带有step-del类的父元素,导致条件判断不成立。
修复后的JavaScript代码
document.body.addEventListener('click', function (evt) { const targetElement = evt.target.closest('.step-del'); if (targetElement) { alert(targetElement); // 此处可替换为你需要执行的业务逻辑 } }, false);
原理说明
closest('.step-del')会从点击的元素(evt.target)向上遍历DOM树,找到第一个带有step-del类的祖先元素。- 无论点击的是
step-del元素本身还是它的任何子元素,都能正确匹配到目标元素,确保事件正常触发。
内容的提问来源于stack exchange,提问作者Ashis Biswas
相关产品推荐
相关产品推荐

