Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

はじめに iOS の Mobile Safari にて、モーダルを開くためのボタンをクリックしてモーダルが表示された瞬間にキーボードを表示させるには一工夫が必要だったのでその話をしたいと思います。 実現するために行ったこと モーダルを開いた瞬間(マウントされた瞬間)にモーダル内に設置している input に focus させればキーボードを表示できると思っていましたが表示されませんでした。 詳しく見てみると focus を呼んだ時に focus はしている模様。 そこで調べてみると、キーボードを表示させるにはどうやらユーザーのアクションが必要ということが判明しました。 解決策 下記のようにボタンを クリックした時(ユーザーのアクション) に行うモーダルを開く処理の後にモーダル内の input に focus させることで解決できました。 let button = document.getE
本スクラップは自動フォーカスによる仮想キーボードの表示を推奨するものではありません。あくまでも仮想キーボードを表示するための情報提供のみを目的としております。 時折、仮想キーボードを表示させるためにプログラムでフォーカスを制御するケースがあります。しかし、iOS のブラウザ(e.g. Mobile Safari)はプログラムで制御されたフォーカス時に仮想キーボードを表示しません。本挙動はバグではなく開発者(Apple)が意図的に行なっているかと思います。Apple は WebKit のバグチケット「Autofocus on text input does not show keyboard」に次のように言及しています。 We (Apple) like the current behavior and do not want programmatic focus to bring up th
困ったこと ユニオン型(合併型)を使って型宣言をするとき、以下のように書きたいことがあるかもしれません。 /** * typeofを使って任意の型の場合で条件分岐させる * UserTextEvent: キーボードによって操作された時の文字情報を保持しているイベント * UserMouseEvent: マウスの操作をした時のx軸y軸の情報を保持しているイベント */ type UserTextEvent = {value: string, target: HTMLInputElement} type UserMouseEvent = {value: [number, number], target: HTMLElement} type UserEvent = UserTextEvent | UserMouseEvent function handle(event: UserEvent) {
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く