Javascript 在切换过最后一个输入字段后,如何重新聚焦输入字段?
我有输入字段。两个需要输入一个是提交类型。就像你在下面看到的Javascript 在切换过最后一个输入字段后,如何重新聚焦输入字段?,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有输入字段。两个需要输入一个是提交类型。就像你在下面看到的 <input id="cs1" type="text" value="" placeholder="Call Sign" onkeyup="showHint(this.value);" maxlength="16" onmousedown="isKeyPressed(event)" autofocus="autofocus" /> <input id="Fname" type="text" valu
<input id="cs1" type="text" value="" placeholder="Call Sign" onkeyup="showHint(this.value);" maxlength="16" onmousedown="isKeyPressed(event)" autofocus="autofocus" />
<input id="Fname" type="text" value="" name="Fname" placeholder="First Name" onkeyup="nameHint(this.value);" onblur="checkIn();" />
<input id="ckin1" type="submit" value="Check In" />
如何让光标在ckin1提交的选项卡之后自动返回到cs1输入字段?这似乎很好。因为您已经在使用jQuery,所以使用它来关注第一个元素
$(“#ckin1”)。在('keydown',函数(e){
var keyCode=e.keyCode | | e.which;
如果(keyCode==9&&!e.shiftKey){
e、 预防默认值();
$('#cs1').focus();
返回false;
}
});代码>
而不是keydown
尝试keydup
。。。试试看<代码>$('a').on('keyup',函数(e){if(e.which==9){console.log('Here');})代码>更改为“keyup”似乎不会更改行为。光标仍停留在地址栏上。恐怕这一更改在行为上仍然没有任何区别。从第一个(cs1)输入标记开始,两个选项卡仍将光标放在URL上。@KeithDKaiser然后您需要发布更多代码,重现问题。如果您运行该代码段,它将正常工作。#gforce301很乐意这样做,但代码非常广泛,我不确定还要包含多少内容。你能给我一些指导吗?@KeithDKaiser试着提供一个它不起作用的例子。我理解您的用例是复杂的(通常是复杂的)。问题是,如果您按下我答案上的“运行代码片段”按钮,它就会工作。所以为了帮助你,我需要看到它坏了,这样我才能帮你修理它。阅读,可能会有帮助。好的,我会尝试找到一种简化的方法,这样我可以展示它是如何工作的。很难做到。。。因为它已经坏了。我认为你的代码应该解决这个问题,但我周围的代码要复杂得多(至少在我看来),我不知道如何解决它。您是否有兴趣将应用程序视为当前正在运行的应用程序?
$(document).ready(function () {
$('#ckin1').on('keydown', function (e) {
if (e.keyCode == 9) {
document.body.firstElementChild.focus();
e.preventDefault();
return false;
}
});
})
$(document).ready(function () {
$( "#ckin1" ).click(function() {
$( "#cs1" ).focus();
});
});