button span{ z-index: -1; }
document.querySelector('button').addEventListener('click', function() { var target = event.target; while (target.tagName !== 'BUTTON') { target = target.parentNode; } // 实际的点击事件操作 console.log(target.innerHTML); });
注意:第二种方法需要注意性能问题,因为需要递归到最上层的元素才能确定实际的触发者,可能会影响页面性能。