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

如何将jQuery的on事件绑定方法转换为原生JavaScript实现

原生实现代码

document.addEventListener('click', function(e) {
  const eyeElement = e.target.closest('.eye');
  if (eyeElement) {
    eyeElement.classList.toggle('on');
  }
});

对应逻辑说明

  • 采用事件委托机制,和你原有的jQuery$(document).on逻辑完全相同,无需提前获取.eye元素,所有动态生成的.eye元素都能正常触发点击事件
  • e.target.closest('.eye')会从点击触发的元素向上查找最近的带.eye类的元素,兼容点击.eye内部子元素的场景,比直接判断点击元素的类名更稳妥
  • classList.toggle('on')原生API直接实现类名切换,等效于你原有if判断加删类的逻辑,不需要额外写条件分支
  • 性能优化建议:如果.eye元素都存在于某个不会被动态销毁的固定父容器内,可以把事件绑定到这个父容器上,减少事件冒泡的层级,提升运行效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:57:02