无法读取属性'addEventListener'的null错误

Cannot read property 'addEventListener' of null Error

本文关键字:null 错误 addEventListener 读取 属性      更新时间:2023-09-26

我的代码不断出现错误。

我正在试着检查按钮是否在页面上,如果是的话,继续。按钮在加载时不在页面上,而是在表单提交后替换表单的外部页面上。然后通过ajax加载感谢html页面。

var reloadButton = document.getElementById('reloadPage');
if (reloadButton.length > 0) {
    function reloadPage() {
        location.reload();
    }
    if (reloadButton.addEventListener) {
        reloadButton.addEventListener('click', reloadPage, false);
    } else {
        reloadButton.attachEvent('onclick', reloadPage);
    }
} 

我知道,如果元素if不存在,就会出现错误,但这就是我创建if语句的原因。我应该换一种方式检查元素吗?

reloadButton.length试图调用某个可能存在或不存在的属性。如果不可用,则尝试访问该属性会导致错误。你可以简单地做:

if (reloadButton)