我想像处理第一个表格一样处理第二个表格,但是我无法将焦点设置到第二个表格。
(function ($) {
$.fn.formNavigation = function () {
$(this).each(function () {
$(this).find('input').on('keydown', function(e) {
if (e.which === 13 && !e.shiftKey) {
if ($(this).closest('td').next().find('input').length>0) {
e.preventDefault();
$(this).closest('td').next().find('input').focus();
} else if ($(this).closest('tr').next().children().eq(1).find('input').length>0) {
e.preventDefault();
$(this).closest('tr').next().children().eq(0).find('input').focus();
} else if ($(this).siblings('table')) {
//$(this).closest('table').find('tr').children().eq($(this).closest('td').index()).find('input').focus();
}
}
});
});
};
})(jQuery);
$('.gridexample').formNavigation();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="gridexample">
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
</table>
<table class="gridexample">
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
</table>
let table2 = document.getElementById("table2");
(在您的HTML中,<table id="table2" class="gridexample">
)。一旦您在脚本中确定了所需的表格元素,您的相同jQuery代码应该能够正确找到输入框(因为两个表格的结构是相同的)。 - Cat