2012-01-31 84 views
0
<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,但它以未定義的方式返回。當我在名稱對象上使用addEventListener時,返回錯誤

回答

1

您沒有ID爲「name」的元素,因此btn評估爲undefined。未定義有沒有方法的addEventListener

您將需要使用的document.getElementById(「BTN」)

看來是在JavaScript保留,我知道的名字是在很多其他語言的關鍵字。改變你的代碼到這個,它的工作原理

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); 
} 
+0

爲你找到了一個解決方案,更新了我的答案。 – Brandon 2012-01-31 06:59:54

0

您需要定義BTN ...

BTN =的document.getElementById( 「BTN」); vs document.getElementById(「name」);

相關問題