<input type="text" id="name" />
<script>
var name = document.getElementById("name");
name.addEventListener("focus",select,false);
function select() {
console.log("Focused!");
}
</script>
我在全局范围内创建了一个名为name的变量,并选择了nameId元素。然后我在对象上调用addEventListener,但它返回为未定义的方法。
答案 0 :(得分:1)
您没有ID为“name”的元素,因此btn的计算结果为undefined。 Undefined没有方法addEventListener
您需要使用document.getElementById('btn')
出现名称在javascript中保留,我知道name是许多其他语言中的关键字。将您的代码更改为此可以正常工作
var nme = document.getElementById("nameId");
var email = document.getElementById("emailId");
var submit = document.getElementById("submit");
if(window.addEventListener) {
nme.addEventListener("focus",select,false);//This is where I get the error
nme.addEventListener("blur",deselect,false);
email.addEventListener("focus",select,false);
email.addEventListener("blur",deselect,false);
submit.addEventListener("press",validate,false);
} else {
nme.attachEvent("onfocus",select);
nme.attachEvent("onblur",deselect);
email.attachEvent("onfocus",select);
email.attachEvent("onblur",deselect);
submit.attachEvent("onpress",validate);
}
答案 1 :(得分:0)
你需要定义btn ...
btn = document.getElementById(“btn”); vs document.getElementById(“name”);