点击此处查看示例 http://www.messtudios.com/form/
现在,当您点击创建帐户时 - 有一个带有jquery的幻灯片动画,然后第一个输入字段会聚焦。
$("#openc").click(function(){
$("#close-top").slideUp(450);
$("#openc").hide();
setInterval(function() {
$("#open-me").slideDown();
$("#regkey").focus();
$("#closec").show();
}, 1000);
});
我遇到的问题是,当我尝试专注于另一个输入字段输入信息时,焦点会跳回到第一个输入字段(我猜它有点错误,setInterval
任何帮助都会事先得到帮助。 谢谢, -O
编辑:
这非常有效...以下工作
$("#openc").click(function(){
$("#close-top").slideUp(450);
$("#openc").hide();
setTimeout(function() {
$("#open-me").slideDown();
$("#regkey").focus();
$("#closec").show();
}, 1000);
});
答案 0 :(得分:1)
我认为您打算使用setTimeout而不是setInterval;它每秒都在不断地运行该循环,这导致焦点跳回到第一个输入框。
如果您希望在slideUp动画完成后动画发生,请使用slideUp方法的回调参数,而不是依赖于setTimeout。
例如:
$("#openc").click(function(){
$("#close-top").slideUp(450,function() {
$("#open-me").slideDown();
$("#regkey").focus();
$("#closec").show();
});
$("#openc").hide();
});
答案 1 :(得分:0)
将alwayz聚焦到第一次输入bcoz u设置焦点上第一个输入的id(regkey
)
$("#regkey").focus();
代替关注下一个输入,你应该使用逻辑
$("input").change(function() {
var inputs = $(this).closest('form').find(':input');
inputs.eq( inputs.index(this)+ 1 ).focus();
});