1. 키보드 이벤트
키보드를 누르고 땔때 마다 이벤트를 발생시킬수 있다.
-html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>click me!</button>
<input type="text">
<script src="app.js"></script>
</body>
</html>
-js
const input = document.querySelector('input');
input.addEventListener('keydown',function(){
console.log("DOWN")
})
input.addEventListener('keyup',function(){
console.log("UP")
})
추가로 키보드를 길게 누르는것도 반응 할수 있다.
2. key 와 code
키보드에서의 실제 위치를 알 수 있다.
const input = document.querySelector('input');
input.addEventListener('keydown',function(w){
console.log(w.key)
console.log(w.code)
})
3. preventDefault()
이벤트의 결과로서 일어날 기본동작을 방지한다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="/loui" id ="form">
<input type="text" name="username" placeholder="username">
<input type="password" name="pass" placeholder="password">
<button>send</button>
</form>
<script src="app.js"></script>
</body>
</html>
const form = document.querySelector('#form')
form.addEventListener('submit', function(e) {
console.log("submit")
})
하지만 입력후 제출시 브라우저가 기본동작으로 /loui 로 데려가므로 오류가 난다.
이에 preventDefault()를 써주면 기본동작을 방지하는것을 알 수 있다.
const form = document.querySelector('#form')
form.addEventListener('submit', function(e) {
console.log("submit")
e.preventDefault();
})