タグを削除した後も入力に集中することを期待しています
追加したタグを削除した後、入力がフォーカスを失っています
問題を再現する手順:
タグから国を削除します
入力が空のときにバックスペースを押すか、タグをクリックしますか?
申し訳ありませんが、タグの閉じるボタンを押してください。 バックスペースで削除すると、オートフォーカスがあります
追加情報@ekinalcarをありがとう。
フォーカスのある要素が破棄されているため、フォーカスはデフォルトでウィンドウに戻ると思います...理想的ではありません! タグに着地したときにフォーカスがどこから来たのかを記録し、タグを外したときにそこに戻す必要があると思います。
迅速な返信ありがとうございます@ i-like-robots
バックスペースを使用したdeleteイベントでは、入力が空(タグなし)の場合でも、ウィンドウではなく同じ入力にフォーカスが置かれます。
こんにちは@ ekinalcar-私はこれを再現することができました。 マウスを使用すると、FirefoxとSafariの両方が期待どおりに一貫して機能することがわかりましたが、Chromeでは、クリックイベントがキャプチャされても、カーソルのフォーカスが失われることがあります。
ただし、キーボードを使用してスペースバーを押してタグを「クリック」すると、フォーカスが常に失われます。これは確かに意図されたものではありません。 うまくいけば、これを修正すると、Chromeの断続的な問題も修正されます。
これをオプションにする方法はあり
@krozettのユースケースについて説明してください。 私が現在実装しているよりも優れたソリューションがあると確信していますが、カーソルが_どこか_便利になることが重要だと思います。 おそらく、 handleDelete/onDelete
コールバックでカーソルを再配置できる条件を追加できます。
@ i-like-robots機能リクエストチケットを作成した方がいいかもしれません。 しかし、基本的に私はモバイルデバイスに固有の動作をしており、ユーザーが入力を押し、オーバーレイを使用してその入力以外のすべてを非表示にし、キーボードとオートコンプリートの候補の画面スペースを確保します。 要素がフォーカスされていない場合、フォーム全体が表示されます。 しかし、タグを削除するとき、ユーザーがタグを削除したいだけで、検索ボックスに入力し続けるつもりがない可能性があるため、入力がオートフォーカスされないようにします。 オートフォーカスにより、入力が「画面支配」モードに戻りますが、これは望ましくありません。 意図的な焦点だけがこれを行うべきです。
それは理にかなっています@ krozett-おそらくより良い解決策は、フォーカスがどこから来たのか( focusin
)を記録し、タグが削除されたときにカーソルをそこに戻すことです🤔
@ i-like-robotsとにかく、v6が間もなく登場すると確信しているので、最初にその動作を調べて、そのイベントハンドラーのいずれかが必要なことを実行するかどうかを確認する必要があります。 😉