js弹框后设置文本框焦点无效

js弹框后设置文本框焦点无效

html的dom结构发生了变化。例如input框在一个类为input_box的div里面,而前面写了个事件把 input_box挪到了其他地方,挪的事件和focus函数同级,然后focus()一直不生效。如下


//html
<div class="input_box">
    <input type="text" placeholder="firstname" id="input">
</div>
 
<div id="input_wrap"></div>

//js
$("#input_wrap").html($(".input_box"));
$("#input").focus();

//解决方法,加个定时器
$("#input_wrap").html($(".input_box"));
setTimeout(function(){
    $("#input").focus();
},500)