我有以下代码隐藏一个文本框并显示另一个文本框。当下一个显示时,我需要光标在其上,所以我在其上调用.focus()
。但是,即使我将调用.focus()
作为第二个参数,它仍然没有聚焦。有什么想法吗?
$(document).ready(function(){
$('.dummy-password-input').on('click', function() {
$(this).hide();
$(this).next().show(0, function() {
$(this).focus();
});
});
});
答案 0 :(得分:1)
对不起大家的麻烦。事实证明,在弄乱它之后,我的DOM遍历并不完全正确。我删除了输入框周围的div,它就像一个魅力。谢谢。
答案 1 :(得分:0)
出现这种情况,因为$(this)引用刚刚隐藏的输入字段更改代码,如:
$(this).next().show(0, function() {
$(this).next().focus();
});
答案 2 :(得分:0)
$(document).ready(function(){
$('.dummy-password-input').on('click', function() {
$(this).hide();
$(this).next().show().focus();
});
});
编辑:
检查此fiddle