2012-12-07 3 views
8

버튼을 누를 때마다 div 요소를 만드는 스크립트를 만들고있었습니다. 원래 나는 onclick 속성과 인라인라는 기능을 가지고 있지만, 그래서 난 그것을 밖으로 이동하는 대신 내가 내가 내가 모르겠어요 전에 addEventListener()을 사용한 적이 addEventListener("click",function());addEventListener 사용 방법

를 사용하려고 같은 jslint하지 않습니다 올바르게 사용하십시오.

페이지가로드 될 때 div이 하나 생성되고 버튼을 누를 때 아무 것도 수행하지 않는 것이 문제입니다.

미리 감사드립니다. 이

input.addEventListener("click", function(){ 
    createEntry(document.getElementById('a').value); 
}); 

같은

<body> 
<form> 
    <textarea id="a"></textarea>  
    <br> 
    <input value="button" type="button"> 
</form> 
<div id="content"> 
</div> 
<script> 
    /*jslint browser:true */ 
    function createEntry(text) { 
     "use strict"; 

     var div = document.createElement("div"); 
     div.setAttribute("class", "test"); 
     document.getElementById("content").appendChild(div); 
    } 
    var input = document.getElementsByTagName("input")[0]; 
    input.addEventListener("click", createEntry(document.getElementById('a').value)); 
</script> 

답변

6

변경

input.addEventListener("click", function(){ 
createEntry(document.getElementById('a').value); 
}); 
+0

시간 내 주셔서 감사합니다. :] –

4

에이 라인

input.addEventListener("click", createEntry(document.getElementById('a').value)); 

안전하고 균일 브라우저로, 이벤트 처리 및 DOM 조작에 대한 jQuery를 같은 자바 스크립트 라이브러리를 사용해보십시오.

당신은 다음과 같이 jQuery를에 이벤트 핸들러를 사용할 수 있습니다

$(<element_selector>).on("click", function (event) { 
    // your code here... 
}); 
+2

나는 JQuery로 그것을하는 법을 알고 있었지만, 나는 그것없이 쓰는 것으로 나의 Javascript 기술을 향상시키고 싶었다. 그래도 브라우저 간 안전에 대한 좋은 지적을 제기합니다. 감사 :] –