在Tab中滚动不起作用

问题描述:

我发现如果我在div元素中放置一个table元素,并将div的属性设置为像width,height和overflow:auto;并在表格的td中放置一些输入元素。比使用制表符移动并发现滚动不随标签移动(如果输入元素包含一些数据)。这个问题只会在Chrome中遇到,而不会在其他现代浏览器中遇到。 下面是示例代码:在Tab中滚动不起作用

<div style="overflow: auto; height: 100px;width:400px;"> 
     <table > 
      <tbody> 
      <tr> 
       <td style="width:100px;"><input value="1" type="text"/></td> 
       <td style="width:100px;"><input value="2" type="text"/></td> 
       <td style="width:100px;"><input value="3" type="text"/></td> 
       <td style="width:100px;"><input value="4" type="text"/></td> 
       <td style="width:100px;"><input value="5" type="text"/></td> 
       <td style="width:100px;"><input value="6" type="text"/></td> 
       <td style="width:100px;"><input value="7" type="text"/></td> 
       <td style="width:100px;"><input value="8" type="text"/></td> 
       <td style="width:100px;"><input value="9" type="text"/></td> 
      </tr> 
      </tbody> 
     </table> 

</div> 

我也创建了一个plunker链接:

http://plnkr.co/edit/1l8HftcoDlebywQ8LDos?p=preview

http://embed.plnkr.co/1l8HftcoDlebywQ8LDos/preview

任何有关此帮助将不胜感激。

+0

我使用Chrome 38在我的Mac可见的行数,一切都通过适当滚动时我标签框。 – kinezu 2014-12-20 04:51:42

+0

我使用的是Windows 8操作系统,它看起来像这个问题在Windows操作系统中遇到,但我没有在Mac上试用。 – 2014-12-22 04:36:38

+0

我在Windows 7机器上使用Chrome 38,并且工作正常。它可能是Windows 8的具体? – Aeolingamenfel 2014-12-22 17:35:33

可能尝试重新安装Chrome,和/或在Safari上尝试使用相同的代码。也许尝试使用鼠标,或者如果已经使用触控板,请使用鼠标。

在Windows 8

铬:滚动与TABKEY不滚动,使TBODY视正确

版本39.0.2171.95版本 金丝雀41.0.2257.0(64位) 版本外部可见的行41.0.2236.0上 IE 11 火狐31.0

。由此我的溶液(64位)

正常工作与最新的Chrome测试& IE11

 // rowObj is javascript <tr> element object 
     rowObj.addEventListener("focus", function(event) { 
     console.log("focus visible row=" + event.currentTarget.sectionRowIndex); 
     if(event.currentTarget.sectionRowIndex === 0) 
      detObj.scrollTop = 0;      //detObj is javascript <td> 
     else 
     if(event.currentTarget.sectionRowIndex > 4) // is the max visible rows in <tbody> 
      detObj.scrollTop = 9999;     // will focus on last row in <tbody> 
    }, true); 

//如果需要,我可以提供JavaScript代码来计算

+0

其实我不想用js滚动,它似乎是铬问题,但我不确定它。 – 2015-04-16 08:11:10