0

在我的应用程序上,用户单击一个按钮,通过 ajax 显示一个文本字段。

我想在它出现后专注于该文本字段。

$("#my-textfield").focus()在我的 js.erb 文件中不起作用,但在控制台中可以正常工作。我也试过了setTimeout,没有用。

当我这样做时,document.getElementById('my-textfield').focus();我得到“无法专注于空值”。

通过ajax加载部分后,我是否需要以某种方式“重新加载”DOM?

4

2 回答 2

0

您可以DOMNodeInserted使用 .on() 监听事件。它尚未得到广泛支持,而且我从未使用过它,但它看起来可能适用于您正在尝试做的事情。

于 2012-08-13T18:57:14.793 回答
0

我还没有真正做到这一点,但你可以试试

$function() {
  $("#my-textfield").load(function() {
    $(this).focus();
  });
});

以确保它首先加载。

于 2012-08-13T19:10:38.143 回答