我有一个web表单,并希望用户能够进入下一个tabindex字段时,向下箭头被按下(行为像标签键)。下面的代码工程时,回车键被按下,但如果我改变键代码为40这段代码将无法为向下箭头键工作。
任何帮助非常感谢。
<div>
<input name="line[]" class="" type="text" tabindex="1"/>
</div>
<div>
<input name="line[]" class="" type="text" tabindex="2"/>
</div>
<div>
<input name="line[]" class="" type="text" tabindex="3"/>
</div>
//tab to next tabindex on enter key
<script>
var id;
$(document).ready(function(eOuter) {
$('input').bind('keypress', function(eInner) {
if (eInner.keyCode == 13){ //enter key
var tabindex = $(this).attr('tabindex');
tabindex++; //increment tabindex
$('[tabindex=' + tabindex + ']').focus();
$('#Msg').text($(this).attr('id') + " tabindex: " + tabindex + " next element: " + $('*').attr('tabindex').id);
}
});
});
</script>
字符串
4条答案
按热度按时间fxnxkyjh1#
箭头键在
keypress
事件上不一致,您希望使用keydown
字符串
FIDDLE
你的消息也有一些问题,元素没有ID,jQuery的
attr
返回一个没有id
属性的原语等。xxe27gdn2#
**100%**适用于
up arrow
和down arrow
字符串
ijxebb2r3#
对于任何想知道这在React/Typescript代码中如何工作的人,这里有一个代码片段对我有用(允许使用ArrowDown和ArrowUp键来实现tab通过ul列表的效果):
字符串
键是e.currentTarget.nextSibling.focus()和e.currentTarget.previousSibling.focus()
oknwwptz4#
这比我想象的要难,但如果这对你很重要,就像对我们一样,这是你需要做的...
active
,它将跟踪当前聚焦的输入。active
的值。active
确定列表中的下一个或上一个元素,并对其调用focus()
。下面的代码在react中完成了所有这些(除了最后一点)。它应该可以很容易地适应任何其他设置。它在调用后500 ms建立一次列表。这对我们来说已经足够了,但是如果你要从DOM中添加和删除输入,你需要自己管理。
字符串
上面提到的traceableEvents组件如下.
型