在我的应用中,用户点击一个按钮,通过ajax显示文本字段。
我希望在文本字段出现后关注它。
在我的js.erb文件中, $("#my-textfield").focus()
不起作用,但在控制台中工作正常。我也尝试用setTimeout
无效。
当我document.getElementById('my-textfield').focus();
时,我得到“无法专注于空”。
在通过ajax加载部分后,我是否需要以某种方式“重新加载”DOM?
答案 0 :(得分:0)
您可以使用.on()收听事件DOMNodeInserted
。它还没有被广泛支持,我从来没有使用它,但看起来它可能适用于你想要做的事情。
答案 1 :(得分:0)
我还没有真正做到这一点,但你可以试试
$function() {
$("#my-textfield").load(function() {
$(this).focus();
});
});
确保首先加载。