2017-06-21 6 views
0

私のアプリの一部はチャットアプリケーションで、「送信」ボタンを押すたびにテキストエリアが入力を失い、仮想キーボードが閉じます。私は、フォームが提出されると直ちにテキストエリアに焦点を合わせることでこれを是正しようとしました。問題は、ブラウザで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待っています。それも何もしなかった。

ありがとうございます!

+0

[**この質問**](https://stackoverflow.com/questions/39612653/set-focus-on-an-input-with-ionic-2)を確認してください。 – developer033

答えて

0

チャットアプリで行ったことは、mousedownイベントを使用しています。

(mousedown)="preventFocusChange($event)" 

と機能で

preventFocusChange(e) { 
    e.preventDefault(); 
} 

これはあなたのために働くなら、私に教えてください。

+0

私はiOSで動作しません。 – andreas

関連する問題