MST

星途 面试题库

面试题:JavaScript中如何通过事件委托处理多个子元素的点击事件并获取目标元素信息

假设有一个父元素,其中包含多个子元素按钮,要求使用事件委托的方式处理所有子按钮的点击事件,并且在点击时能获取到被点击按钮的文本内容,写出实现代码。
35.5万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

以下是使用JavaScript实现该功能的代码示例:

<!DOCTYPE html>
<html lang="zh - CN">

<head>
    <meta charset="UTF - 8">
</head>

<body>
    <div id="parent">
        <button>按钮1</button>
        <button>按钮2</button>
        <button>按钮3</button>
    </div>
    <script>
        const parent = document.getElementById('parent');
        parent.addEventListener('click', function (event) {
            if (event.target.tagName === 'BUTTON') {
                const buttonText = event.target.textContent;
                console.log('被点击按钮的文本内容:', buttonText);
            }
        });
    </script>
</body>

</html>

在上述代码中:

  1. 通过document.getElementById('parent')获取父元素。
  2. 为父元素添加click事件监听器。
  3. 在事件处理函数中,通过event.target.tagName === 'BUTTON'判断点击的元素是否是按钮。
  4. 如果是按钮,通过event.target.textContent获取按钮的文本内容并输出到控制台。