천천히 배움,/Front-End
[JavaScript] iOS, input type="number"일 때 숫자 키패드 띄우기
margu
2022. 1. 19. 15:51
모바일 대응을 하다보면 만나는 문제, 안드로이드와 iOS...
안드로이드는 input 태그의 type 속성에 number 지정을 해주면 숫자 키패드가 자동으로 잘 나타난다.
반면에, iOS는... ^^ type="number" 임에도 불구하고 일반적인 한/영 키보드가 나와 한글, 영문은 물론 특수문자까지 입력이 가능하다.
그렇다면, 어떻게 숫자 키패드가 나오게 할 수 있을까?
방법은 매우 간단했다!
input 태그의 inputmode 속성을 지정해주면 끝 -
<input type="number" inputmode="numeric" />
<input type="number" inputmode="decimal" />
decimal은 '.'도 입력할 수 있는 숫자 키패드를 제공하고, numeric은 정말 순수한 숫자 키패드를 제공하니 용도에 맞게 선택하면 된다!
다만, 이는 최신 iOS에서만 동작이 되는 듯하니, 최신 버전 외에도 지원을 한다면 pattern 속성도 추가로 적어줘야 한당~
<input type="number" pattern="[0-9]*" inputmode="numeric" />
inputmode - HTML: Hypertext Markup Language | MDN
inputmode 전역 특성은 사용자가 요소나 요소의 콘텐츠를 편집할 때 입력할 수 있는 데이터 유형의 힌트를 제공하는 열거형 특성입니다.
developer.mozilla.org