点击控制图标时data-id有时获取失败,请求排查错误原因
问题原因解析
关键问题:点击目标不固定
你把点击事件绑定在了.main-content(也就是<body>标签)上,而e.target指的是你实际点到的那个元素:
- 要是点到的是带
data-id的.controldiv,就能正常拿到id; - 要是点到的是div里面的
<i>图标,这个图标本身没有data-id属性,自然返回undefined。
附带的代码隐患
除了上面的核心问题,你的代码还有两个坑:
- 当
id是undefined时,document.getElementById(id)会返回null,这时执行secActive.classList.add("active")会直接报错; - 你同时给
.control和.main-content绑定了点击事件,事件冒泡会让同一个点击触发两次逻辑,容易出问题。
内容的提问来源于stack exchange,提问作者ahmed tahri
相关产品推荐
相关产品推荐

