添加事件侦听器时出错,说元素为null

时间:2013-07-04 22:47:38

标签: javascript html

我正在删除内联事件处理程序并将其替换为事件侦听器。页面加载时会出现错误消息TypeError: document.getElementById(...) is null。我做错了什么?

//adding function listeners
var inputEl = document.getElementById('us');
inputEl.addEventListener('keyup', availability, false); // error here

function availability(name, availabilityDiv)
{
    var name = document.getElementById('us').value;
        //code sniped
}

<input type="text" name="us" id="us" />

我知道我的代码很奇怪,所以让我解释一下。我想在每次将字符输入到输入字段时调用一个函数,并且我希望输入的字符作为参数传递给函数。如果有更好的方法可以告诉你。

1 个答案:

答案 0 :(得分:1)

如果您将脚本放在标题中,则必须在onload事件上运行

window.onload = function(){

    //adding function listeners
    var inputEl = document.getElementById('us');
    inputEl.addEventListener('keyup', availability, false); // error here

    function availability(name, availabilityDiv)
    {
        var name = document.getElementById('us').value;
            //code sniped
    }

}