You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

纯JS如何为动态创建的指定class元素绑定addEventListener点击事件

实现方案

你之前的两种方案仅能给页面初始化时已存在的.bold元素绑定事件,后续动态插入的元素没有被绑定监听,因此无法触发对应逻辑。正确的实现方式是使用事件委托,将监听事件绑定到一开始就存在的父级容器#editor上,利用事件冒泡机制匹配目标元素:

const editor = document.getElementById('editor');
editor.addEventListener('click', function (e) {
  // 匹配点击的元素是否带有bold类
  if (e.target.classList.contains('bold')) {
    // 此处写入你要执行的事件逻辑
    console.log('点击了bold元素', e.target);
  }
});

兼容嵌套元素的优化方案

如果你的.bold元素内部还存在嵌套的子元素,点击子元素时e.target会指向内层子元素,此时可以用closest方法向上查找匹配的.bold元素:

const editor = document.getElementById('editor');
editor.addEventListener('click', function (e) {
  const boldElement = e.target.closest('.bold');
  if (boldElement) {
    // 此处写入你要执行的事件逻辑,boldElement就是匹配到的.bold元素
    console.log('触发bold事件', boldElement.textContent);
  }
});

内容的提问来源于stack exchange,提问作者Fifi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 05:48:03