我试图让光标跳转以专注于表单的第一个元素。由于某种原因,它不断关注第二个元素而不是第一个元素。我做了一个简单的表格。
<form>
<input type="text">
<input type="text">
<input type="text">
<input type="submit" value="Submit">
</form>
$('form').children().keydown(function(e) {
if (e.keyCode == 9 || e.which == 9) {
if ($(this).is(':last-child')) {
$(this).parent().children().first().focus();
}
}
})
答案 0 :(得分:2)
请参阅控制台日志
当你按下最后一个元素上的tab focus
第一个元素,然后执行tab
操作,所以它转到第二个元素。
使用event.preventdefault()或return false
停止标签操作。
if ($(this).is(':last-child')) {
$(this).parent().children().first().focus();
e.preventDefault(); // or return false;
}