1. ホーム
  2. Web制作
  3. html5

モバイルHTML5入力に関するFAQ(要約)

2022-01-11 03:06:29

1. iOSで入力のデフォルトの角丸とインナーシャドウを削除する

iOSでは、入力に独自の角丸と内側の影がつきますが、以下の手順で削除することができます。

input{
    -webkit-appearance: none;
    border-radius: 0;
}



2. 入力にフォーカスがあるとき、プレースホルダーが隠れない。

input:focus::-webkit-input-placeholder{
    opacity: 0;
}


3.テンキーを出すための入力ボックス

type="number" だけでは、iOSは9パターンの数字キーボードを表示しないので、9パターンの数字キーボードを表示させる必要がある場合は、pattern="[0-9]*" 属性を追加する必要があります。

<! -- numeric keypad With symbols, not nine-box style -->
<input type="number"/>

<! -- nine-pattern numeric keyboard -->
<input type="number" pattern="[0-9]*"/>

<! -- Phone number keypad -->
<input type="tel"/>



4. 検索時にキーボードのエンターボタンの文字が"search"になる。

解決策:inputは、フォームformの中でtype="search"を使用しています。この2つの組み合わせにより、inputメソッドのenterボタンのテキストは"search"になります。

<form action="">
    <input type="search" />
</form>

5. 入力プレースホルダーの色変更

::-webkit-input-placeholder { /* WebKit browsers */
  color: #999;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color: #999;
  opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: #999;
  opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
  color: #999;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { /* WebKit*/  
    color: #666;  
}  
input:-moz-placeholder, textarea:-moz-placeholder { /* Mozilla Firefox 4 to 18 */  
    color: #666;  
}  
input::-moz-placeholder, textarea::-moz-placeholder { /* Mozilla Firefox 19+ */  
    color: #666;  
}  
input:-ms-input-placeholder, textarea:-ms-input-placeholder { /* IE 10+ */  
    color: #666;  
} 



6. iOSでオートフォーカスfocus()が機能しない問題

iOSではフォーカスを自動的に取得することはできません。フォーカスを有効にするには、ユーザーが発するイベントをリスンする関数で実行する必要があります。

// openNotifyReplay is the event triggered by click
openNotifyReplay = (e) => {
    this.setState({
        notifyReplayVisible: true
    }, ()=>{
        document.getElementById("replayPopupText").focus()
    })
}


以上、「HTML5入力FAQ for mobile(まとめ)」をお届けしました。モバイル向けHTML5入力の詳細については、スクリプトハウスの過去記事を検索していただくか、引き続き以下の記事を閲覧してください。