프론트
[jQuery] jQuery로 클릭 / hover 등의 이벤트 제어해보기
planting grass
2025. 5. 19. 18:03
728x90
jQuery란?
DOM 요소에 이벤트를 손쉽게 연결할 수 있도록 도와주는 자바스크립트 라이브러리다.
기존에 이벤트 제어를 위해서 순수하게 js만을 사용해야만 했었다.
하지만 jQeury를 사용한다면 보다 간단한 문법을 사용해 이벤트를 제어할 수 있으며, 브라우저 호환성 또한 jQuery가 내부적으로 처리해준다.
보다 자세한 내용은 jQuery란 무엇인가요?를 참고하면 될 듯하다.
참고로 jQuery는 자바스크립트의 라이브러리 즉, 기능을 보완해주는 JS 코드 집합이기 때문에 HTML내에서 스크립트 형태로 함께 사용된다.
주요 jQuery 메서드
메서드 | 설명 |
.click() |
클릭 이벤트 |
.hover() |
마우스를 올렸을 때 / 뗐을 때 |
.mouseenter() / .mouseleave() |
마우스 진입/이탈 시 |
.on(event, handler) |
일반적인 이벤트 바인딩 (위임 포함) |
보다 상세한 내용은 jQuery API를 참고하면 된다.
클릭 이벤트 처리
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>클릭 이벤트 (jQuery)</title>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
</head>
<body>
<h2>클릭 이벤트 예제</h2>
<button id="clickBtn">버튼을 클릭하세요</button>
<p id="clickResult">여기에 결과가 표시됩니다.</p>
<script>
$('#clickBtn').click(function () {
$('#clickResult').text('버튼이 클릭되었습니다!');
});
</script>
</body>
</html>
클릭 관련 이벤트
이벤트 이름 | 설명 |
click |
클릭 시 실행 |
dblclick |
더블클릭 시 실행 |
mousedown |
마우스 버튼 누를 때 실행 |
mouseup |
마우스 버튼 뗄 때 실행 |
contextmenu |
우클릭 시 실행 (브라우저 기본 메뉴 방지 가능) |
더 많은 이벤트들은 jQuery API를 참고하면 된다.
hover 이벤트 처리
hover란 마우스 포인터가 어떤 요소 위에 올라간 상태를 의미한다.
우리가 로그인 버튼에 마우스를 올리면 버튼이 확대되거나 색상이 변경되는 기능들도 hover의 범주에 들어간다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>hover 이벤트 (jQuery)</title>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<style>
#hoverBox {
width: 200px;
height: 100px;
background-color: royalblue;
color: white;
text-align: center;
line-height: 100px;
}
</style>
</head>
<body>
<h2>hover 이벤트 예제</h2>
<div id="hoverBox">마우스를 올려보세요</div>
<script>
$('#hoverBox').hover(
function () {
$(this).css('background-color', 'green').text('Hover 중!');
},
function () {
$(this).css('background-color', 'royalblue').text('Hover 해제');
}
);
</script>
</body>
</html>
hover 관련 이벤트들
이벤트 이름 | 설명 |
mouseenter |
마우스가 요소에 처음 들어올 때 |
mouseleave |
마우스가 요소에서 벗어날 때 |
mouseover |
요소에 마우스가 올라갈 때 (자식 포함) |
mouseout |
요소에서 마우스가 나갈 때 (자식 포함) |
더 많은 이벤트들은 jQuery API를 참고하면 된다.
728x90