JavaScript利用键盘方向键(上下键)控制表格行选中
时间: 2023-08-24 21:07:24 浏览: 296
可以通过以下步骤来实现JavaScript利用键盘方向键(上下键)控制表格行选中:
1. 首先,为表格的每一行添加一个事件监听器,监听键盘方向键的按下事件。
2. 当方向键按下时,获取当前选中的行的索引,以及表格总共有多少行。
3. 根据按下的方向键,更新选中行的索引,如果已经到达了表格的边缘,则循环到另一端。
4. 根据更新后的选中行的索引,添加或移除行的选中状态。
以下是一个简单的实现示例:
```html
<table>
<tr>
<td>Row 1</td>
</tr>
<tr>
<td>Row 2</td>
</tr>
<tr>
<td>Row 3</td>
</tr>
</table>
<script>
const table = document.querySelector('table');
const rows = table.querySelectorAll('tr');
let selectedRow = 0;
// 为每一行添加事件监听器
rows.forEach((row, index) => {
row.addEventListener('keydown', (event) => {
if (event.key === 'ArrowUp') {
// 上方向键
selectedRow = selectedRow === 0 ? rows.length - 1 : selectedRow - 1;
} else if (event.key === 'ArrowDown') {
// 下方向键
selectedRow = selectedRow === rows.length - 1 ? 0 : selectedRow + 1;
}
// 更新行的选中状态
rows.forEach((row, index) => {
if (index === selectedRow) {
row.classList.add('selected');
} else {
row.classList.remove('selected');
}
});
});
});
// 默认选中第一行
rows[selectedRow].classList.add('selected');
</script>
<style>
.selected {
background-color: yellow;
}
</style>
```
在上面的示例中,我们为每一行添加了一个 `keydown` 事件监听器,当方向键按下时,更新了选中行的索引,并根据索引添加或移除行的选中状态。同时,我们还为选中行添加了一个 `.selected` 样式,以便用户能够清楚地看到哪一行被选中了。
阅读全文