要素のフォーカスが失われないようにするにはどうすればいいですか? 質問する

要素のフォーカスが失われないようにするにはどうすればいいですか? 質問する

ブラウザ内のどこをクリックしても、1 つのテキスト ボックスにフォーカスを維持する方法。

$("#txtSearch").focus();

ベストアンサー1

blurのイベントをサブスクライブしtextbox、短いタイムアウトでフォーカスを復元する必要があります。

$('#txtSearch').blur(function (event) {
    setTimeout(function () { $("#txtSearch").focus(); }, 20);
});

この方法では、ページ上の他の要素のイベントをサブスクライブする必要がありません。body clickまたはをサブスクライブした場合html click、他の要素がそのイベントの伝播を阻止すると実行されずclick、 からタブ移動しても機能しませんtextbox

例:

<!-- I will not propagate my click to top level DOM elements -->
<button id="button">Click me</button>

<script>
$('#button').click(function (event) {
    event.stopPropagation();
});
</script>

おすすめ記事