我有两个文本输入和一个按钮。
对于两个文本输入,我都使用JQuery设置了一个keydown
事件,以便在按Enter键时将焦点切换到下一个元素。
所以:
此处的演示代码:https://jsfiddle.net/5v8ze2m4/
看看会发生什么:
请注意,当我使用Enter键时,只会发生 。如果我在两个事件处理程序中都将keyCode
条件更改为40而不是13(对于光标键按下↓而不是Enter),它将按预期工作。
另外,还有一个小问题:我自动关注第一个似乎无效的输入元素。但这可能与JSFiddle有关。
答案 0 :(得分:0)
您需要停止默认事件。使用event.preventDefault()
方法可以将焦点对准按钮功能,例如:
function FocusToButton(evt)
{
evt.preventDefault();
var keyCode = evt.keyCode || evt.which;
if (keyCode==13) $('#btn').focus();
}
最好也将其添加到其他功能中。进一步了解preventDefault()here