[英]How to navigate through inputs that are in a table with arrow keys?
我正在使用 dataTables.net 和动态创建的数据构建一个表(使用 dataTables.net 可能不相关)。 我的一些表格单元格是输入。 如何使用箭头键浏览这些输入? 提前致谢
为我的所有输入提供相同的属性,并向它们添加一个事件侦听器。
document.querySelectorAll('input[data-type="Ordered"]').forEach(el => {
el.addEventListener('keydown', (e) => {
upDownFocusInputs(e, el)
})
})
function upDownFocusInputs(e, el) {
let controlType = el.dataset.type;
if (e.keyCode == 40) { // down arrow
e.preventDefault();
let nextRow = el.closest('tr').nextSibling;
if (nextRow) {
let nextInput = nextRow.querySelector(`input[data-type=${controlType}]`)
nextInput.focus();
}
}
else if (e.keyCode == 38) { // up arrow
e.preventDefault();
let prevRow = el.closest('tr').previousElementSibling;
if (prevRow) {
let prevInput = prevRow.querySelector(`input[data-type=${controlType}]`)
prevInput.focus();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.