当您按tab键时,它应该将tab键转到下一个空白文本输入框javascript,而不使用tab索引
例如,表单中有多个输入字段,其中有些字段在此之前是自动填充的。如果我按tab键,则应跳过自动填充的输入字段,并转到空白输入字段当您按tab键时,它应该将tab键转到下一个空白文本输入框javascript,而不使用tab索引,javascript,Javascript,例如,表单中有多个输入字段,其中有些字段在此之前是自动填充的。如果我按tab键,则应跳过自动填充的输入字段,并转到空白输入字段 我试过了,但是当我开始在空白输入中写什么时,它也被自动填充和跳过,以至于 $(".item-input").keyup(function () { if (this.value.length !== 0) { var $next = $(this).next('.item-input'); if ($next.length)
我试过了,但是当我开始在空白输入中写什么时,它也被自动填充和跳过,以至于
$(".item-input").keyup(function () {
if (this.value.length !== 0) {
var $next = $(this).next('.item-input');
if ($next.length)
$(this).next('.item-input').focus();
else
$(this).blur();
}
});
我会将事件更改为keydown而不是keyup,因为keyup已经处理了tab事件本身,并且没有真正的取消操作,此时您将看到它在选择下一个空代码之前跳转到下一个字段 对于其余部分,我建议您首先获取所有元素,然后检查触发事件的字段,并开始检查索引+1中的其他字段 所以大体上,我想我会编写如下代码,不需要模糊你当前所在的领域,专注于新领域就可以了 shiftKey有一个手柄,用户仍然可以使用shift+tab返回一个:我在该检查来源的链接中发表了评论 让itemInputs=Array.from document.querySelectorAll'.item input'; $'.item input'。在“keydown”上,函数e{ 如果e.shiftKey{ //这里禁止操作 //见:https://stackoverflow.com/questions/3044083/what-is-the-key-code-for-shifttab 回来 } 开关e.keyCode{ 案例9: //我们可以在这里使用循环,但是,嘿,默认值从函数中返回 //所以这只是跳过到switch语句后面 打破 违约: 回来 } //找到我们在原始字段集中的位置 让index=itemInputs.findIndex v=>e.target==v+1; //如果我们相等或更大,那么 而索引