コード スニペット
特定の要素にフォーカスを設定するには、フォーカスを受け取る要素を指定する必要があります。あなたのスニペットには、この仕様がありません:
document.forms[''].elements[''].focus();
必要に応じて、次の行を使用できます:document.getElementById("DuringSearch").focus();
DuringSearch
は、フォーカスを受け取る必要がある入力要素の ID です。<input id="DuringSearch" type="text">
解決する必要がある問題は、クリックされたタブに基づいて ID を変更することです。これを実現するにはいくつかの方法があります。以前の投稿では、data-tab という名前の属性が使用されています。
タブのクリックにイベント ハンドラーをアタッチするには、document.ready で (jQuery を使用して) 次のようにします。
// add event handler for click on tab
$("#tabs li").click(function () {
loadTabs(this);
setFocusOnInput(this);
return false;
});
タブをクリックすると、添付イベントが発生し、loadTabs と setFocusOnInput の 2 つの関数が実行されます。
フォーカスを設定するには、その入力ボックスの ID を知る必要があります。私の例では、属性を使用していますdata-tab
<li data-tab="Before">
<a href="#Before">Before</a>
</li>
私の例では、次の関数を使用します。
function setFocusOnInput(_this){
var tab = $(_this).attr("data-tab");
var searchId = tab + "Search"
console.log("_this:", _this);
document.getElementById(searchId).focus();
}
詳細については、以前の投稿を参照してください。
知りたいことを詳しく教えてください。一般的な配線方法、または特定のケースでの配線方法を知りたいですか?