【问题标题】:How to navigate on table using keyboard arrow keys如何使用键盘箭头键在桌子上导航
【发布时间】:2018-03-18 22:11:51
【问题描述】:

我有一张桌子:

<table border="1" width="500">
<tr>
    <th>Name</th>            
    <th>SurName</th>
    <th>Age</th>
    <th>Sum</th>
    <th>Total</th>
</tr>
<tr>
    <td>Peter</td>
    <td>White</td>
    <td>20</td>
    <td class='hov'>20.00</td>
    <td class='hov'>20.00</td>
</tr>
<tr>
    <td>Anton</td>
    <td>Smith</td>
    <td>40</td>
    <td class='hov'>50.00</td>
    <td class='hov'>50.00</td>
</tr>
<tr>
    <td>Boris</td>
    <td>Crane</td>
    <td>10</td>
    <td class='hov'>80.00</td>
    <td class='hov'>80.00</td>
</tr>
<tr>
    <td>Angel</td>
    <td>Green</td>
    <td>40</td>
    <td class='hov'>60.00</td>
    <td class='hov'>60.00</td>
</tr>
<tr>
   <td>Manny</td>
   <td>Red</td>
   <td>90</td>
   <td class='hov'>10.00</td>
   <td class='hov'>10.00</td>
</tr>

我只需要在class=hov 的表格上导航,并且需要向下、向上、向左、向右所有四个键我可以编辑此字段,按 Enter 后需要向下键。

这是一个例子:

http://jsfiddle.net/Ebyvalkevich/hs03ukzo/9/

【问题讨论】:

  • 请发布您编写的 JavaScript 代码以尝试自己解决此问题。

标签: jquery html html-table keyboard


【解决方案1】:

您可以监听 keypress 事件并检测是否按下箭头键:

 $(window).on('keypress', function(ev){
    if(ev.keyCode == '37') {
         //do some stuff here}
 }


left = 37 up = 38 right = 39 down = 40

在这些块中你描述你的逻辑。

UPD:焦点单元格

为此,您可以使用$('#yourCellId').focus()

【讨论】:

  • 谢谢,但我有一个问题如何将光标移动一个单元格
  • 你的意思是焦点单元格吗?
  • 焦点单元需要编辑,悬停单元需要查看焦点在哪里
  • 我没有得到你的最后评论。 “悬停单元格需要查看焦点在哪里”是什么意思?
  • 悬停在我的示例蓝色轮廓中,当我导航键盘时,我会看到单元格上的轮廓并将焦点设置到此单元格
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 2012-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多