1. 이벤트를 정의하는 방법
- $("셀렉터").이벤트이름(function(){
... 처리 내용...
});
clickevent.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<div id="click-div">클릭하세요</div>
<hr>
<input type="button" id="click-input" value="클릭하세요">
<hr>
<script>
$("#click-div").click(function(){
alert('div를 클릭했습니다.')
});
$("#click-input").click(function(){
alert('click-input를 클릭했습니다.')
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<a href="https://www.naver.com" id="link1">link1</a>
<hr>
<a href="https://www.naver.com" id="link2">link2</a>
<script>
$('#link1').click(function(){
alert("link1 클릭");
});
$('#link2').click(function(event){
alert("link2 클릭");
event.preventDefault();
});
</script>
</body>
</html>
2. 마우스 이벤트
- MouseEnter + MouseLeave 이벤트
- 이를 위한 복합적인 hover 이벤트를 제공
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<style>
.event-box {
border: 5px solid #007;
background: #d5d5d5;
color: #009;
font-size: 32px;
padding: 50px 0;
text-align: center;
}
</style>
</head>
<body>
<div id="listener" class="event-box">
Mouse Here
</div>
<script>
$('#listener').mouseenter(function(){
$('#listener').html('Mouse enter');
});
$('#listener').mouseleave(function(){
$('#listener').html('Mouse leave');
});
$('#listener').mousedown(function(){
$('#listener').html('Mouse down');
});
$('#listener').mouseup(function(){
$('#listener').html('Mouse up');
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<style>
.event-box {
border: 5px solid #007;
background: #d5d5d5;
color: #009;
font-size: 32px;
padding: 50px 0;
text-align: center;
}
</style>
</head>
<body>
<div id="listener" class="event-box">
Mouse Here
</div>
<script>
$('#listener').hover(
function(){
$('#listener').html("마우스가 들어왔습니다.")
}, function(){
$('#listener').html("마우스가 빠져나갔습니다.")
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<input id="click_me" type="button" value="click me">
<input id="remove_event" type="button" value="unbind">
<script>
function clickHandelr() {
alert("thank you");
}
$("#click_me").bind('click', clickHandelr);
$('#remove_event').bind('click', function(){
$("#click_me").unbind('click', clickHandelr);
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<h1>on \()</h1>
<p>여기를 클릭해주세요</p>
<script>
$("p").on('click', function(){
alert("문장이 클릭되었습니다.");
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<h1>on()</h1>
<p>이 문장 위로 마우스를 움작여 보세요</p>
<div></div>
<script>
$("p").on("mouseenter mouseleave", function(){
$('div').append("마우스가 위로 들어왔거나 빠졌습니다.<br>");
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<h1>on()</h1>
<p>이 문장 위로 마우스를 움작여 보세요</p>
<div></div>
<script>
$("p").on({click : function(){
$("div").append("마우스가 문장을 클릭했습니다.<br>");
},
mouseenter : function(){
$("div").append("마우스 커서가 문장 위로 들어왔습니다.<br>");
},
mouseleave : function(){
$("div").append("마우스가 커서가 문장을 빼져나갔습니다..<br>");
}
});
</script>
</body>
</html>
3. 키보드 이벤트
- keypress
: 한글에 대해서 동작하지 않음
- keydown
: 한글, 영문, 띄어쓰기 등에 대해서 모두 1회씩 이벤트가 발생(누르고 있는 동안 down 이벤트가 발생)
