2012-01-31 6 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は未定義と評価されます。未定義のは、名前はJavaScriptに予約されて表示されますが(「BTN」)のdocument.getElementByIdを使用する必要があります

を一切法のaddEventListener

を持っていない、私は名前が他の言語の多くのキーワードであることを知っています。コードをこれに変更すると動作します

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

0

あなたは

BTN =のdocument.getElementById( "BTN")... BTNを定義する必要があります。 vs document.getElementById( "name");

関連する問題