카테고리 없음

Javascript | 이벤트 핸들러 추가하기(addEventListener)

zuyo 2017. 7. 19. 14:34
반응형

addEventListener

 

자바스크립트에서는 특정 HTML 요소에 이벤트 리스너를 추가하여, 이벤트 조건이 발동 되었을 때(클릭 등) 이벤트 핸들러 함수를 실행시킬 수 있다.

 

이벤트에는 "click", "mousedown", "mouseup", "mouseover" 등 다양한 이벤트가 있다.

 

사용법

var st = document.getElementById("stalker");
st.addEventListener('이벤트종류', '함수이름');

<html>
<head>
<script type="text/javascript">
  window.onload = function() {
    var myBtn = document.getElementById("myBtn");
    myBtn.addEventListener("click", myBtnClickHandler);
  }

  function myBtnClickHandler() {
    alert("myBtn이 클릭되었습니다");
  }
</script>
</head>
<body>
<button id="myBtn">내버튼</button>
</body>
</html>

addEventListener 등으로 등록 할 수 있는 이벤트는 여러 종류가 있다. 그 중 가장 자주 쓰이는 이벤트 목록이다.

change

변동이 있을시 발생

click

클릭시 발생

focus

포커스를 얻었을때 발생

keydown

키를 눌렀을때 발생

keyup

키에서 손을 땟을때 발생

load

로드가 완료 되었을때 발생

mousedown

마우스를 클릭 했을때 발생

mouseout

마우스가 특정 객체 밖으로 나갔을 때 발생

mouseover

마우스가 특정 객체 위로 올려졌을 시에 발생

mousemove

마우스가 움직였을 때 발생

mouseup

마우스에서 손을 땟을때 발생

select

option 태그 등에서 선택을 했을때 발생


이벤트 핸들러 함수의 첫번째 인자

 

addEventListener으로 생성한 이벤트 핸들러 함수의 첫번째 인자는 이벤트 객체로, 그 속성들 중 target이란 속성은 이벤트가 호출된 객체를(예를 들면 클릭된 객체) 반환한다.

 

// Internet Explorer 구버전 브라우저 미호환
function myBtnsClickHandler(e) {
    alert( e.target.id + "이 클릭되었습니다");
}
myBtn1.addEventListener("click", myBtnsClickHandler);
myBtn2.addEventListener("click", myBtnsClickHandler);
myBtn3.addEventListener("click", myBtnsClickHandler);


// Internet Explorer 구버전 브라우저 호환
function myBtnsClickHandler(e) {
  var event = e || window.event;
  var targetElement = event.target || event. srcElement;
  alert( targetElement.id + "이 클릭되었습니다");
}
반응형