在setInterval中向下滑动后的jquery焦点会不断重复帮助
单击此处查看示例 现在,当您单击CreateCount时,会出现一个带有jquery的幻灯片动画,然后第一个输入字段会聚焦在setInterval中向下滑动后的jquery焦点会不断重复帮助,jquery,focus,setinterval,Jquery,Focus,Setinterval,单击此处查看示例 现在,当您单击CreateCount时,会出现一个带有jquery的幻灯片动画,然后第一个输入字段会聚焦 $("#openc").click(function(){ $("#close-top").slideUp(450); $("#openc").hide(); setInterval(function() { $("#open-me").slideDown(); $("#regkey").
$("#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);
});
我想您是想使用setTimeout而不是setInterval;它每秒都在持续运行循环,这就是导致焦点跳回第一个输入框的原因 如果希望动画在slideUp动画完成后发生,请使用slideUp方法的回调参数,而不是依赖setTimeout 例如:
$("#openc").click(function(){
$("#close-top").slideUp(450,function() {
$("#open-me").slideDown();
$("#regkey").focus();
$("#closec").show();
});
$("#openc").hide();
});
我想您是想使用setTimeout而不是setInterval;它每秒都在持续运行循环,这就是导致焦点跳回第一个输入框的原因 如果希望动画在slideUp动画完成后发生,请使用slideUp方法的回调参数,而不是依赖setTimeout 例如:
$("#openc").click(function(){
$("#close-top").slideUp(450,function() {
$("#open-me").slideDown();
$("#regkey").focus();
$("#closec").show();
});
$("#openc").hide();
});
始终聚焦到第一个输入bcoz u设置聚焦第一个输入的id(
regkey
)
$("#regkey").focus();
相反,要将注意力集中在下一个输入上,您应该使用下面的逻辑
$("input").change(function() {
var inputs = $(this).closest('form').find(':input');
inputs.eq( inputs.index(this)+ 1 ).focus();
});
始终聚焦到第一个输入bcoz u设置聚焦第一个输入的id(
regkey
)
$("#regkey").focus();
相反,要将注意力集中在下一个输入上,您应该使用下面的逻辑
$("input").change(function() {
var inputs = $(this).closest('form').find(':input');
inputs.eq( inputs.index(this)+ 1 ).focus();
});
帮助链接:帮助链接:如果我的帖子帮助了你,请将其标记为正确,以便其他搜索类似内容的人可以轻松找到它!如果我的帖子帮助了你,请将其标记为正确,以便其他搜索类似内容的人可以轻松找到它!