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



我正在删除内联事件处理程序,并用事件侦听器替换它们。当页面加载时,会出现错误消息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" />

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

如果您将脚本放在头中,那么它必须在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
    }
}

最新更新