Cannot read property 'addEventListener' of
时间: 2023-11-14 21:25:40 浏览: 81
null报错是由于无法读取null对象的addEventListener属性所致。在引用中的代码中,oEnterBtn对象被赋值为null,因此无法使用addEventListener方法。
要解决这个问题,可以检查oEnterBtn对象是否成功获取了元素。可以使用querySelector方法来查找元素,并且在找不到元素时添加错误处理。例如:
```javascript
const oEnterBtn = doc.querySelector("#enter");
if (!oEnterBtn) {
console.error("无法获取按钮元素");
return;
}
```
这样,在oEnterBtn为空时,会输出错误信息并退出函数,避免继续执行导致报错。
另外,在引用的代码中,也可以考虑使用事件委托的方式来绑定事件,以确保元素存在,例如给父元素绑定click事件,然后在事件处理函数中判断点击的目标元素是否为oEnterBtn。
```javascript
function bindEvent() {
doc.addEventListener('click', handlerClick, false);
}
function handlerClick(event) {
if (event.target === oEnterBtn) {
// 处理点击事件
}
}
```
这种方式可以在元素不存在时避免报错,并且可以将事件绑定到父元素上,减少事件绑定的数量。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Uncaught TypeError: Cannot read property ‘addEventListener‘ of null 可能出现的问题](https://blog.csdn.net/yqx_123/article/details/118759694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [解决removeEventListener 无法清除监听的问题](https://download.csdn.net/download/weixin_38693506/14752546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文