私のアプリの一部はチャットアプリケーションで、「送信」ボタンを押すたびにテキストエリアが入力を失い、仮想キーボードが閉じます。私は、フォームが提出されると直ちにテキストエリアに焦点を合わせることでこれを是正しようとしました。問題は、ブラウザでIonicを操作してもうまく動作しますが、iOSデバイスでテストするとすぐに、テキストエリアに再フォーカスすることを拒否します。私のHTMLテンプレートのコードは次のとおりです。Ionic 2 - バーチャルキーボードが消えないようにサブミット後にフォーカスする
<div class="create-message-block">
<form [formGroup]="addMessageForm" novalidate (ngSubmit)="addMessage(addMessageForm.value, focusableTextarea)">
<textarea #focusableTextarea [formControl]="addMessageForm.get('message')" placeholder="Write your message..."></textarea>
<input type="submit" value="Send"/>
</form>
</div>
// And here is the add message functionality in my component
addMessage(data, focusableTextarea) {
// ... a lot of code edited out for sample purposes
focusableTextarea.focus()
}
他に何かできることがあれば誰にも分かりますか?私は少しのタイムアウトを追加しようとしましたが、.focus()
が発生するまで50ms待っています。それも何もしなかった。
ありがとうございます!
[**この質問**](https://stackoverflow.com/questions/39612653/set-focus-on-an-input-with-ionic-2)を確認してください。 – developer033