我有两个输入元素,第一个是聚焦的,我想通过模拟TAB keypress/keydown事件来关注第二个.(注意:我不想使用.next()或等.)
这是我的代码,灵感来自这个问题:
$('input').first().focus();
var e = $.Event('keydown');
e.which = 9; // TAB
$(':focus').trigger(e);
Run Code Online (Sandbox Code Playgroud)
代码不起作用.怎么了?
在jQuery中,如何触发用户标签到下一个输入字段的行为?
我试过这个:
var e = jQuery.Event("keydown");
e.which = 9; // # Key code for the Tab key
$("input").trigger(e);
Run Code Online (Sandbox Code Playgroud)
但是触发事件不会将光标移动到下一个字段.
我想我可以手动移动光标focus(),但是决定接下来应该是哪个字段是浏览器已经知道该怎么做的事情,所以触发标签似乎更清晰.
有任何想法吗?
我现在忙于13个输入字段,结果被合并到变量中,我必须将其拆分为13,因为我需要添加块效果,例如您将在现实世界中的许多表单上找到它.每个块的限制是一个,我需要找到,所以当你插入一个数字,它会进入下一个字段,直到所有字段都已填充,然后验证功能将启动.
继承人html:
<div id="error"></div>
<form id="idCheck">
<input class="id" id="idnumber1" maxlength="1" />
<input class="id" id="idnumber2" maxlength="1" />
<input class="id" id="idnumber3" maxlength="1" />
<input class="id" id="idnumber4" maxlength="1" />
<input class="id" id="idnumber5" maxlength="1" />
<input class="id" id="idnumber6" maxlength="1" />
<input class="id" id="idnumber7" maxlength="1" />
<input class="id" id="idnumber8" maxlength="1" />
<input class="id" id="idnumber9" maxlength="1" />
<input class="id" id="idnumber10" maxlength="1" />
<input class="id" id="idnumber11" maxlength="1" />
<input class="id" id="idnumber12" maxlength="1" />
<input class="id" id="idnumber13" maxlength="1" /><span id="status"></span>
<p> <input type="submit" id="check" value="Check" /> </p>
</form> …Run Code Online (Sandbox Code Playgroud)