难以在javascript中设置焦点于新创建的对象

时间:2013-07-15 15:14:34

标签: javascript focus

所以,与之前的问题相关,但原谅我的天真的JavaScript方式。基本上我现在想要在将文本输入添加到DOM时自动将文本输入置于焦点。我的一部分认为我可能会尝试在对象存在之前添加焦点,但我不太确定如何修复它。现在这是我的相关代码:

var searchWrapper = document.createElement("div");
searchWrapper.id = "search-wrapper";

this.parentNode.replaceChild(searchWrapper, this);
document.getElementById("search-wrapper").focus();

但它不太合适。我应该将焦点设置为replaceChild的回调,还是有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

Live Demo

var searchOrig = document.getElementById("search-wrapper"); 

var searchWrapper = document.createElement("div");
searchWrapper.id = "search-wrapper";
searchWrapper.setAttribute('tabindex', '0'); 

searchOrig.parentElement.replaceChild(searchWrapper, searchOrig);
document.getElementById("search-wrapper").focus();