Javascript 如何在键码为只读的浏览器中聚焦下一个可聚焦字段?

Javascript 如何在键码为只读的浏览器中聚焦下一个可聚焦字段?,javascript,firefox,javascript-events,event-handling,Javascript,Firefox,Javascript Events,Event Handling,当用户按下Enter按钮时,焦点将移动到下一个文本框。 这是在IE中实现的,但我计划支持多浏览器。我已经更改了大多数位置,除了一个位置,我正在将选项卡值分配给window.event.keyCode. 我正在为IE分配window.event.keyCode=9 为了支持多浏览器,我将其更改为event.which=9,并尝试使用event.which.keyCode=9,但这根本不起作用。当我按enter键时,请帮助我找到一种方法来聚焦下一个ID未知的文本框。以下是获取键码的跨浏览器方法 fu

当用户按下Enter按钮时,焦点将移动到下一个文本框。 这是在IE中实现的,但我计划支持多浏览器。我已经更改了大多数位置,除了一个位置,我正在将选项卡值分配给
window.event.keyCode.

我正在为IE分配
window.event.keyCode=9


为了支持多浏览器,我将其更改为
event.which=9
,并尝试使用
event.which.keyCode=9
,但这根本不起作用。当我按enter键时,请帮助我找到一种方法来聚焦下一个ID未知的文本框。以下是获取键码的跨浏览器方法

function (e) { var kc = e?e.which:event.keyCode; } 
您不能强制使用选项卡,因为在大多数浏览器中键码是只读的。如果要使用tab,请在下一个字段上使用.focus()

要查找下一个字段,您需要迭代表单中的字段

以下是jQuery和普通JavaScript答案:


1)传递事件,2)选择事件
函数(e){var kc=e?e.which:event.keyCode;}
并且不能强制使用选项卡,因为在大多数浏览器中keyCode是只读的。如果要使用tab键,请在下一个字段
var key=e.keyCode | | e.which谢谢。正如您所说,keyCode在大多数浏览器中是只读的,我不知道它是如何在IE中工作的(可能是受支持的)。此行将更改“输入”选项卡。因此,我在其他浏览器中使用event.which和event.which.keyCode尝试了相同的行为。我不知道为什么它不工作猜测,我们应该只使用focus()这将是正确的解决方案,但问题是,有一个通用的JavaScript为所有页面编写。因此,我能够获得按键事件,但我没有下一个要聚焦的对象或ID