언어공부/JavaScript&jQuery
제이쿼리(jQuery) 기초 문법 - 제이쿼리 이벤트 (1) 이벤트 등록 메소드
yeony
2021. 8. 6. 00:24
제이쿼리(jQuery) 기초 문법
제이쿼리 이벤트
이벤트 등록 메소드
이벤트란 사이트에서 방문자가 취하는 모든 행위를 말하고, 이벤트 핸들러는 이벤트가 발생했을 때 실행되는 코드를 말한다. 이벤트 등록 메소드를 이용하면 방문자가 지정한 요소에서 어떠한 특정 동작이 일어났을 때 저장된 코드를 실행시킬 수 있다.
이벤트 등록 메소드에는 하나의 이벤트만 등록할 수 있는 단독 이벤트 등록 메소드와 2개 이상의 이벤트를 등록할 수 있는 그룹 이벤트 등록 메소드가 있다.
<body>
<button id="btn">버튼</button>
<script>
$("#btn").click(function(){
자바스크립트 코드;
});
</script>
</body>
여기서 $("#btn")은 이벤트 대상이고, click()은 이벤트 등록 메소드, function(){...}는 이벤트 핸들러이다.
단독 이벤트 등록 메소드는 로딩이벤트, 마우스이벤트, 포커스이벤트, 키보드이벤트, 기타이벤트로 나눌 수 있다.
구분 | 종류 | 설명 |
로딩 이벤트 | load() | 선택한 이미지 또는 프레임 요소에 연동된 소스의 로딩이 완료된 후 이벤트가 발생한다. |
ready() | 지정한 HTML문서 객체의 로딩이 완료된 후 이벤트가 발생한다. | |
error() | 이벤트 대상 요소에서 오류가 발생하면 이벤트가 발생한다. | |
마우스 이벤트 | click() | 선택한 요소를 클릭했을 때 이벤트가 발생한다. |
dbclick() | 선택한 요소를 연속해서 두 번 클릭했을 때 이벤트가 발생한다. | |
mouseover() | 선택한 요소의 영역에 마우스 포인터를 올렸을 때 발생된다. | |
hover() | 선택한 요소에 마우스 포인터를 올렸을 때와 벗어났을 때 각각 이벤트가 발생한다. | |
mousemove() | 선택한 요소 범위에서 마우스 포인터를 움직였을 때 이벤트가 발생한다. | |
scroll() | 가로, 세로 스크롤바를 움직일 때 마다 이벤트가 발생한다. | |
포커스 이벤트 | focus() | 선택한 요소에 포커스가 생성되었을 때 이벤트를 발생하거나 선택한 요소에 강제로 포커스를 생성한다. |
focusin() | 선택한 요소에 포커스가 생성되었을 때 이벤트가 발생한다. | |
focusout() | 포커스가 선택한 요소에서 다른 요소로 이동되었을 때 이벤트가 발생한다. | |
blur() | 포커스가 선택한 요소에서 다른 요소로 이동되었을 때 이벤트가 발생하거나 선택한 요소의 포커스가 강제로 사라지도록 한다. | |
change() | 이벤트 대상인 입력 요소의 값이 변경되고, 포커스가 이동하면 이벤트가 발생한다. 그리고 강제로 change이벤트를 발생시킬 때도 사용한다. | |
키보드 이벤트 | keypress() | 선택한 요소에서 키보드를 눌렀을 때 이벤트가 발생한다. 그리고 문자 키를 제외한 키의 코드값을 반환한다. |
keydown() | 선택한 요소에서 키보드를 눌렀을 때 이벤트가 발생한다. 키보드의 모든 키의 코드값을 반환한다. | |
keyup() | 선택한 요소에서 키보드에서 손을 떼었을 때 이벤트가 발생한다. |
이벤트 등록 방식 알아보기
한가지 동작에 대한 이벤트 등록방식에는 단독 이벤트 등록 메소드나 그룹 이벤트 등록 메소드를 사용하고, 두 가지 이상의 동작에 대한 이벤트 등록 방식에는 그룹 이벤트 등록 메소드를 사용한다.
단독 이벤트 등록 메소드
대상에 한 가지 동작에 대한 이벤트만 등록할 수 있다.
<script>
$("이벤트 대상 선택").이벤트 등록 메소드(function(){
자바스크립트 코드
});
$("#btn").click(function(){
alert('버튼을 누름');
});
</script>
그룹 이벤트 등록 메소드
대상에 한 가지 동작 이상의 이벤트를 등록할 수 있다. on()메소드를 사용하여 이벤트를 등록한다.
<script>
//on()메소드 등록방식 1
$("이벤트 대상 선택").on("이벤트종류 1 이벤트종류 2 ...",
function(){
자바스크립트 코드
});
$("#btn").on("mouseover focus",
function(){
alert("이벤트실행");
});
//on()메소드 등록방식 2
$("이벤트 대상 선택").on({
"이벤트 종류1":function(){자바스크립트 코드 1;},
"이벤트 종류2":function(){자바스크립트 코드 2;}
});
$("#btn").on({
"mouseover":function(){
alert("마우스 포인터 올려짐");
}
"focus":funtion(){
alert("포커스 생성됨");
}
});
</script>
사용자가 버튼에 마우스 포인터를 올리거나 키보드를 사용하여 버튼에 포커스를 맞추면 alert()메소드가 실행된다.