
Javascript를 사용하여 Enter 및 화살표 키 처리
2022-10-19 last update
7 minutes reading html javascript tutorial programming인턴십에서 "Enter"키를 처리하는 작업이 할당되었습니다.
사실 저는 프론트엔드 개발에 대해 잘 모릅니다. 그러나 여기에 과제를 해결하고 새로운 것을 배우려는 나의 노력이 있습니다.
그래서 작업은 테이블의 셀을 편집할 수 있는 테이블을 생성하는 것이었습니다. 그리고 '엔터' 버튼을 누를 때마다 다음 셀을 선택해야 합니다.
처음에는 쉬워보여서 코딩을 시작했습니다. 이 작업이 이벤트와 관련이 있다는 것을 알고 있었습니다. 그런데 해결하다 보니 구글링을 많이 해야 하더군요. 그리고 많은 오류를 겪고 그 오류를 해결한 끝에 마침내 작업을 해결했습니다.
솔루션의 모습은 다음과 같습니다.
먼저 'index.html'이라는 html 파일을 생성했습니다.
여기 div 태그 안에 테이블을 만들었습니다. 동적으로 테이블을 생성하기로 결정했습니다.
이제 동적으로 테이블을 생성합니다.
여기서 행과 열은 매개변수입니다. 즉, 테이블은 모든 행과 열로 생성될 수 있습니다.
이제 부트스트랩을 사용하여 테이블을 보기 좋게 만들어 보겠습니다. 여기서는 부트스트랩 cdn을 사용했습니다.
태그 내에서 부트스트랩 cdn을 사용하십시오.
태그에 부트스트랩 클래스를 추가합니다.
사실 저는 프론트엔드 개발에 대해 잘 모릅니다. 그러나 여기에 과제를 해결하고 새로운 것을 배우려는 나의 노력이 있습니다.
그래서 작업은 테이블의 셀을 편집할 수 있는 테이블을 생성하는 것이었습니다. 그리고 '엔터' 버튼을 누를 때마다 다음 셀을 선택해야 합니다.
처음에는 쉬워보여서 코딩을 시작했습니다. 이 작업이 이벤트와 관련이 있다는 것을 알고 있었습니다. 그런데 해결하다 보니 구글링을 많이 해야 하더군요. 그리고 많은 오류를 겪고 그 오류를 해결한 끝에 마침내 작업을 해결했습니다.
솔루션의 모습은 다음과 같습니다.
먼저 'index.html'이라는 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>Index</title>
</head>
<body>
<h1 style="text-align:center">Demo of handling Enter and arrow keys</h1>
<br>
<div>
<table id="dataTable">
<tbody id="tableBody">
</tbody>
</table>
</div>
</body>
</html>
여기 div 태그 안에 테이블을 만들었습니다. 동적으로 테이블을 생성하기로 결정했습니다.
이제 동적으로 테이블을 생성합니다.
function createTable(rows, columns) {
for (let i=0; i<rows; i++) {
let row = document.createElement('tr');
for (let j=0; j<columns; j++) {
let cell = document.createElement('td');
cell.setAttribute('contenteditable', 'true') //makes cell editable
cell.setAttribute('onkeyup','handleEvent(event)') // calls postAnswer() function on keyup
cell.innerHTML = `${i}${j}`;
row.appendChild(cell);
}
document.getElementById('tableBody').appendChild(row);
}
}
여기서 행과 열은 매개변수입니다. 즉, 테이블은 모든 행과 열로 생성될 수 있습니다.
이제 부트스트랩을 사용하여 테이블을 보기 좋게 만들어 보겠습니다. 여기서는 부트스트랩 cdn을 사용했습니다.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-IDwe1+LCz02ROU9k972gdyvl+AESN10+x7tBKgc9I5HFtuNz0wWnPclzo6p9vxnk" crossorigin="anonymous"></script>
태그 내에서 부트스트랩 cdn을 사용하십시오.