본문 바로가기
  • Coding & Book
WEB/DOM

DOM_4

by 루이3 2023. 3. 6.

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();
})

'WEB > DOM' 카테고리의 다른 글

DOM_3  (0) 2023.03.01
DOM_2  (0) 2023.02.26
DOM  (0) 2023.02.22