ブラウザ内のどこをクリックしても、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>