我正在加载一个 html 片段,将其插入到某个元素之后,并希望使用 .focus
类来聚焦输入字段。此类中可能有多个元素。 Similar code with load(...)
works .
var item = $(this).closest(".something");
$.get(
url,
function(data) {
item.after(data);
$(data).find(".focus").focus(); /* everything works except this line */
}
);
加载的html的相关部分:
<input type="text" class="focus" value="" name="email"/>
看起来(在调试器中)找到了要聚焦的元素,但它没有获得焦点。知道出了什么问题吗?
最佳答案
item.after(data)
将 data
解析为一组 DOM 元素并将它们放入文档中。
$(data)
然后将 data
解析为另一组 DOM 元素,这些元素永远不会显示。
你想要
$(data).insertAfter(item).find(".focus").focus();
关于javascript - 由 jQuery $.get(...) 加载的焦点元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9692370/