我正在通过 AJAX 加载表单......我有我认为是一个成功的 jQuery 语句,但它什么也没做:
$("#input_form_container").loadActionTemplate()
.find ('.form-focus:first').focus();
loadActionTemplate 是我创建的用于加载表单的函数。它确实加载了表单,然后返回对“this”的引用,以便链接可以继续。目标元素是一个文本输入字段,如下所示:
<input class="span1 form-focus" id="min-duration" name="min-duration" size="16" type="text">
笔记:
- 如果我在加载后进入调试器,则运行此脚本(因此在加载模板之后)并运行“jQuery(”#input_form_container“).find('.form-focus:first').focus();” 从调试器中,它通过突出显示字段并返回 DOM 引用以供将来链接,就像一个魅力
如果我输入:
jQuery("#input_form_container").loadActionTemplate().find ('.form-focus:first').focus();
直接进入调试器,它会重新加载模板并返回对正确 DOM 元素的引用,但未获得焦点
绝望中,我尝试在 focus() 调用之前插入一个 delay(500) ,但这不是必需的,也没有解决问题。
任何帮助将不胜感激。