要素のフォーカス イベントを検出したいのですが、ユーザーがタブ キーを押して開始した場合に限られます。例えば:
<input type="text" id="foo" />
<input type="text" id="detect" />
ユーザーがフォーカスされて#foo
を押すTabと、イベントがフォーカスされると発生#detect
します (または、フォーカス イベント内の条件が true になります)。逆に、ユーザーが単に#detect
フィールドをクリックしてフォーカスした場合、イベントを発生させたくありません (または、フォーカス イベント呼び出し内の条件を false にします)。
#foo
アプローチを他の要素から独立させたいので、キーダウンイベントを使用してタブキーが押されたかどうかを確認したくありません。
次のコードのコンソール出力に目を通しましたが、フォーカスの 2 つの方法に実際の違いは見られませんでした。
$('#detect').on('focus', function(e){
console.log(e);
});
(フィドル)
これは比較的簡単な方法で達成できますか?