【问题标题】:The addEventListener is returning an error when I use it on the name object当我在名称对象上使用 addEventListener 时,它返回错误
【发布时间】:2012-02-22 21:57:01
【问题描述】:
<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 但它作为未定义的方法返回。

【问题讨论】:

    标签: javascript html object methods addeventlistener


    【解决方案1】:

    您没有 ID 为“name”的元素,因此 btn 的计算结果为未定义。 undefined 没有方法 addEventListener

    您需要使用 document.getElementById('btn')

    似乎 name 在 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);
    }
    

    【讨论】:

      【解决方案2】:

      你需要定义 btn...

      btn = document.getElementById("btn"); vs document.getElementById("name");

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-05
        • 2017-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多