모바일 대응을 하다보면 만나는 문제, 안드로이드와 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
'천천히 배움, > Front-End' 카테고리의 다른 글
[Javascript] 모바일 safari, 삼성 브라우저 100vh 이슈 해결 (0) | 2022.01.22 |
---|---|
[JavaScript] input type="number" 숫자만 입력되도록 설정하기 (0) | 2022.01.18 |
[React] Flex Component 만들기 (feat, MUI-Stack) (0) | 2021.11.17 |
[Network] REST API, 그리고 POST와 PUT (4) | 2021.10.04 |
[Highcharts] scatter 그래프 - 구간에 따른 marker 색상 구분 (0) | 2021.09.28 |