반응형
문제 발생
일반적으로 이름, 번화번호, 이메일 정도나 적던 input 칸에는 그렇게 많은 공간이 필요하지 않죠.
그래서 우리는 그저 일반적인 <input> 태그를 쓰게 되었습니다.
하지만 주문시 요청사항 혹은 기타 메모 등과 같은 입력 공간에는 줄바꿈(enter)이나 크기 변경, 안의 내용에 따라 크기가 변하는 input이 필요하게 되었습니다. 오늘은 이 부분을 해보시죠
해결 방법
TypeScript
// 여기는 input으로 memo를 넣는 부분에서 text 칸이 유동적으로 변화하게 만드는 부분
const tx = document.getElementsByTagName("textarea");
for (let i = 0; i < tx.length; i++) {
tx[i].setAttribute("style", "height:" + (tx[i].scrollHeight) + "px;overflow-y:hidden;");
tx[i].addEventListener("input", OnInput, false);
}
// 높이를 자동으로 맞춰 확장하게끔.
function OnInput( ) {
this.style.height = "auto";
this.style.height = (this.scrollHeight) + "px";
}
HTML
<textarea placeholder="Teacher Memo" [(ngModel)]="memo"></textarea>
ngModel 은 Angular 에서 사용하는 값을 저장하는 변수에 해당합니다
반응형
'Font-End' 카테고리의 다른 글
javascript 자바스크립트 사용자 브라우저 확인하기 (0) | 2021.08.09 |
---|---|
footer 만들기, 겹치는 오류 잡기 (0) | 2021.07.15 |
Angular modal 활용 (0) | 2021.07.06 |
<select> <option value =1> number (int), string 오류 해결 (0) | 2021.07.06 |
버림, 반올림 없이 소수점 2번째 자리까지 표현 (0) | 2021.05.18 |