Front-End/JavaScript | jQuery | AJAX
07. 제이쿼리(jQuery) 이벤트
Yerin Thea Yoo
2026. 2. 17. 00:31
웹 페이지는 사용자와의 상호작용을 기반으로 동작한다.
클릭, 입력, 마우스 이동 등 이러한 동작을 이벤트(Event)라고 한다.
jQuery는 이벤트 처리를 간결하게 작성할 수 있도록 도와준다.
1. 이벤트 등록 메서드
1) 이벤트 등록 메서드란?
특정 요소에 이벤트가 발생했을 때 실행할 함수를 연결하는 것
기본 구조
$("선택자").이벤트명(function() {
실행코드;
});
2) 이벤트 등록 방식
① 직접 등록 방식
$("#btn").click(function() {
alert("클릭됨");
});
② on() 메서드 방식(권장)
$("#btn").on("click", function() {
alert("클릭됨");
});
on()은
- 동적 요소 대응 가능
- 여러 이벤트 등록 가능
3) 마우스 이벤트
| 이벤트 | 설명 |
| click | 클릭 |
| dbclick | 더블 클릭 |
| mouseenter | 마우스 진입 |
| mouseleave | 마우스 벗어남 |
| hover | 진입 + 벗어남 |
| mousedown | 누름 |
| mouseup | 뗌 |
ex.
$(".box").mouseenter(function() {
$(this).css("background", "red");
});
4) 이벤트 객체와 종류
이벤트가 발생하면 이벤트 객체(Event Object)가 생성된다.
$("#btn").click(function(e) {
console.log(e.type);
});
주요 속성
| 속성 | 설명 |
| e.type | 이벤트 종류 |
| e.target | 실제 발생 요소 |
| e.pageX / pageY | 마우스 좌표 |
| e.preventDefault() | 기본 동작 방지 |
| e.stopPropagation() | 이벤트 전파 차단 |
5) 포커스 이벤트
입력 요소에 사용한다.
| 이벤트 | 설명 |
| focus | 포커스 진입 |
| blur | 포커스 벗어남 |
| focusin | 내부 포함 |
| focusout | 내부 포함 벗어남 |
$("input").focus(function() {
$(this).css("border", "2px solid blue");
});
6) 키보드로 마우스 이벤트 대응하기
키 입력을 통해 클릭과 같은 효과를 구현한다.
$(document).keydown(function(e) {
if (e.key === "Enter") {
$("#btn").click();
}
});
7) 키보드 이벤트
| 이벤트 | 설명 |
| keydown | 키 누름 |
| keyup | 키 뗌 |
| keypress | 문자 입력 |
$("input").keyup(function() {
console.log($(this).val());
});
8) 이벤트가 발생한 요소 추적하기
this 또는 e.target 사용
$("li").click(function() {
console.log($(this).text());
});
this는 이벤트가 발생한 요소를 가리킨다.
2. 그룹 이벤트 등록 및 삭제
1) 그룹 이벤트 등록 메서드
여러 이벤트를 동시에 등록
$("#btn").on("mouseenter mouseleave", function() {
$(this).toggleClass("active");
});
또는 객체 형태
$("#btn").on({
mouseenter: function() {
$(this).css("color", "red");
},
mouseleave: function() {
$(this).css("color", "black");
}
});
2) 이벤트 제거 메서드
off()
$("#btn").off("click");
특정 이벤트 제거
one()
한 번만 실행된다.
$("#btn").one("click", function() {
alert("한 번만 실행");
});