addEventListener() , 이벤트리스너 등록
addEventListener() 는 document내에 특정요소에 event를 등록할때 사용합니다.
간단한 사용예제는 아래와 같습니다.
js
var btn = document.getElementById("btn1"); btn.addEventListener("click",btnClick,false); function btnClick(e){ alert("Click!"); }
html
위의 예제는 한개의 버튼에 이벤트를 등록하는 방법입니다.
그런데 태그에 직접 onclick="" 을 쓰면되는데 위와같이 하는 이유는 상황에 따라 다른 이벤트를 발생할수있고
동일한 이벤트가 발생하는 버튼이 여러개있을때 버튼에 다 직접 입력하는것보다
위와같이 작성하는게 효율성 에서 좋기때문입니다.
아래의 예제에서는 여러개의 버튼에 이벤트리스너를 등록하였습니다.
js
var cols = document.querySelectorAll('#cols .btn'); [].forEach.call(cols,function(col){ col.addEventListener("click",click,false); }); function click(e){ window.alert(this.innerHTML); }
html
위의 예제에서는 class="btn" 버튼을 querySelectorAll 로 가져와 반복문을 사용하여 이벤트리스너를 등록하였습니다.
[JavaScript] querySelector , querySelectorAll 자바스크립트 요소접근
위와같이 작성할경우 버튼추가시 똑같은 코드를 다시 적을필요가 없이 자동으로 이벤트리스너가 등록됩니다.
따라서 유지보수 측면에서 좀더 좋은코드입니다.
또한 HTML은 문서내용을 보여주고 Script 에서는 문서를 조작하는 서로의 역활에 충실할수있습니다.
'개발 > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 변수의 이해와 사용 (0) | 2017.11.14 |
---|---|
[JavaScript] JavaScript (자바스크립트) 란 ? (0) | 2017.11.02 |
[JavaScript] querySelector() , querySelectorAll() 자바스크립트 요소접근 (0) | 2017.06.08 |
[JavaScript] getElementsByClassName() 함수 , 자바스크립트 클래스명 접근 (2) | 2017.06.08 |
[JavaScript] getElementsByTagName() 함수 , 자바스크립트 태그명 접근 (0) | 2017.06.08 |