Reactは単にevent.type
がfocus
だと言っているので、私はこれを判断するために何ができるのか分かりません。React `onFocus`イベントがMouse、Keyboard、Programmaticでトリガされたかどうかを確認しますか?
フォーカスがマウスによって開始されなかった場合にのみ、いくつかのコードを実行する必要があります。私が考える任意のヒント
Reactは単にevent.type
がfocus
だと言っているので、私はこれを判断するために何ができるのか分かりません。React `onFocus`イベントがMouse、Keyboard、Programmaticでトリガされたかどうかを確認しますか?
フォーカスがマウスによって開始されなかった場合にのみ、いくつかのコードを実行する必要があります。私が考える任意のヒント
ため
おかげで、あなたは、例えば、ダックタイピングを使用する必要があります唯一のMouseEventsはpageX、pageY性質を持っているので、
if (e.pageX || pageY) -> MouseEvent
キーボードイベントあなたは公式ドキュメント内のすべての違いを見つけることができロケール、場所
if (e.locale || location) -> KeyboardEvent
を持っている:https://reactjs.org/docs/events.html#supported-events
にのみ適用され、いくつかの他のイベントを使用しますキーボードに接続します。この他の投稿を確認してください:Differentiate between focus event triggered by keyboard/mouse
あなたはonKeyDownまたはonKeyPressを使いたいと思います。これらのイベントはここで確認できます:https://reactjs.org/docs/events.html#keyboard-events