如何在使用jQuery按下TAB键后返回焦点

How to get back focus after TAB pressed using jQuery?

本文关键字:TAB 返回 焦点 按下 jQuery      更新时间:2023-09-26

我将change函数绑定到一个输入元素,当我单击TAB键进入下一个输入时(有一个函数可以动态更新内容),然后我就失去了下一个输出的焦点。

我尝试了很多方法,但都没能把注意力集中在下一个输入上。

$(document).on("change", '.usdrate, .usdcost, ', function () {
   updateinputs();
   if($(this).attr('class') == 'usdrate'){
     //not working
     $('.usdcost').focus(); 
   }
});
function updateinputs(){
  //I create new inputs because I changed the values
  //there are many operations here
  $("#test").html('').html('<input class="usdrate"><input class="usdcost">');
}
html code:
<div id="test"><input class="usdrate"><input class="usdcost"></div>

我不明白你到底想做什么。

$(document).on("change", '.usdrate, .usdcost, ', function () {

这是一个语法错误

$(document).on("change", '.usdrate,.usdcost', function () {

Fiddle:https://jsfiddle.net/soonsuweb/zrjo0ou8/

 $(function () {
       updateinputs();
       if($('#test').find('input').hasClass('usdrate')){
     
         $('#test').find('input').focus(); 
       }
    });
    function updateinputs(){
    
      $("#test").html('<input class="usdrate"><input class="usdcost">');
    }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
      
<div id="test"><input class="usdrate"><input class="usdcost"></div>

我使用求解

    updateinputs();
    setTimeout(function () {
     $("#"+nextfocus).select();
    }, 50);