使用事件委托
事件委托是一种在父元素上监听事件,而不是在子元素上单独添加监听器的技术。这意味着您可以使用单个监听器来处理多个元素上的事件,而不必每个元素都添加监听器。以下是使用事件委托来解决多个页面上addEventListener仅适用于一个按钮的示例代码:
HTML代码:
JavaScript代码:
const buttonsContainer = document.getElementById('buttons-container');
buttonsContainer.addEventListener('click', function(event) {
if (event.target.tagName === 'BUTTON') {
console.log('您单击了' + event.target.textContent);
}
});
在此示例中,我们将父元素buttonsContainer上添加一个click事件监听器,并使用条件语句if来检查单击的元素是否是一个按钮。这样,当用户单击任何按钮时,该函数都会运行,并在控制台上记录相应按钮的文本。