为什么javascript代码无法读取到函数类型( Uncaught TypeError)?

查看:97
本文介绍了为什么javascript代码无法读取到函数类型( Uncaught TypeError)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

绑定了一个事件addEventListener,但是调试的时候报错,显示Uncaught TypeError: Cannot read property 'addEventListener' of null,类型错误。不知道错在哪里,也不知道如何定位。
报错的是如下代码段:

function init() {

    // 在这下面给add-btn绑定一个点击事件,点击时触发addBtnHandle函数
    document.getElementById("add-btn").addEventListener("click", addBtnHandle)
    // 想办法给aqi-table中的所有删除按钮绑定事件,触发delBtnHandle函数
    document.getElementById("aqi-table").addEventListener("click", function(event){
        if(event.target.nodeName.toLowerCase() === 'button') delBtnHandle.call(null, event.target.dataset.city);
    })
}

全部的代码地址:http://louislee0229.github.io/louisIFE/task16/task16

请帮忙解决,更重要的我以后应该如何独立的调试代码排错呢?谢谢!

解决方案

你调用js文件时,DOM还没有渲染完。
你把页面内引用的js放到最后就可以了。
或者js里面用window.onload()

至于错误调试,在调试工具也找不到错误的话,试着将你的错误代码进一步分解。

var add-btn = document.getElementById("add-btn");
if(add-btn) {
    addEventListener("click", addBtnHandle);
}

这篇关于为什么javascript代码无法读取到函数类型( Uncaught TypeError)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆