1

我在文本框中有一个输入字段,如下所示:

<div id="box_password2" style="display:none;">
  <span style="float:left;margin: 10px 0px 0px 20px;">Verify password:</span>                           
  <input type="password" id="field_password2" class="auto" maxlength="10" style="margin: 10px 0px 0px 10px; width: 80px; float: left;" value="">
</div>

我希望取消隐藏框(和包含的输入字段)并将焦点设置到输入字段,如下所示:

$('#box_password2').fadeIn("fast", function() {
  $("#field_password2").focus(); 
  console.log('Active element: '+$(":focus").attr('id'));
});

但这只是行不通。焦点在某个不可见的地方,我的控制台将活动元素显示为未定义。为什么这不起作用?


更新

我添加了一个 onfocus 警报和 field_password2 DOES 获得焦点,但不知何故将其丢失到 NEXT 字段。如果重要的话,上面的 javascript 在另一个输入字段的 onchange 事件中。在我的代码更改焦点之后,onchange 处理程序是否正在更改焦点?有什么办法可以防止吗?

4

0 回答 0