FocusEventは、あなたがリンクしたドキュメントの実験技術としてはっきりと説明されています。だから、あなたが求めるものは将来追加されるかもしれません。しかし、今のところ、回避策を使用する以外に選択肢がないように見えます。
私がしようとするものを作っ:
var clickWhileFocused = false;
$("#testInput").on("tabbedOut", function() {
console.log("tabbedOut");
});
$("#testInput").on("clickedOut", function() {
console.log("clickedOut");
});
$(document).on("mousedown", function (e) {
if($("#testInput").is(":focus") && e.target.id != "testInput") {
$("#testInput").trigger("clickedOut");
clickWhileFocused = true;
}
});
$("#testInput").on("focusout", function() {
if(!clickWhileFocused) {
$("#testInput").trigger("tabbedOut");
}
clickWhileFocused = false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text"/>
<input id="testInput" type="text" placeholder="#testInput"/>
<input type="text"/>
あなたのアドバイスのために[OK]を感謝を。ところで、キー/ボタンイベントをグローバルにログする素晴らしいライブラリが見つかりましたので、コード内のどこでもキーが押されたことをいつでも確認できます。 https://github.com/ten1seven/what-input – xetra11
実際にタブキーを確認するのには素晴らしいかもしれません。私のコードでは、あなたがクリックして、他のすべての 'focusout'イベントがタブによってトリガされたと仮定しているかどうかを確認するだけです。 –