2014-12-19 8 views
7

Ho scoperto che se inserisco un elemento di tabella all'interno dell'elemento div e impostiamo le proprietà di div in qualche modo come larghezza, altezza e overflow: auto; e posiziona qualche elemento di input all'interno della tabella td. che lo spostamento con le schede e trovato che lo scorrimento non si sposta con la scheda (se gli elementi di input contiene alcuni dati). Questo problema si verifica solo in Chrome non in altri browser moderni. Ecco il codice di esempio:Scorrimento con tabulazione non funzionante in Chrome

<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> 

Ho anche creato un link sul plunker:

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

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

Qualsiasi aiuto per quanto riguarda questo saranno molto apprezzati.

+0

sto usando Chrome 38 sul mio Mac e tutto scorre correttamente quando ho scheda attraverso la scatole. – kinezu

+0

sto usando il sistema operativo Windows-8 e sembra che questo problema incontri in Windows OS, ma non l'ho provato su Mac. –

+0

Sto utilizzando Chrome 38 su un computer con Windows 7 e funziona correttamente. Potrebbe essere specifico per Windows 8? – Aeolingamenfel

risposta

0

Forse provare a reinstallare Installazione di Chrome e/o provare questo stesso codice su Safari. Forse prova un mouse o usa il trackpad se ne stai già utilizzando uno.

1

su Windows 8

Chrome: scorrimento con TABKEY non scorre a fare una fila visibile al di fuori della finestra tbody correttamente

versione 39.0.2171.95 Versione 41.0.2257.0 canarino (64-bit) Version 41.0.2236.0 (64-bit)

funziona correttamente su IE 11 Firefox 31.0

Con la presente la mia soluzione testato con il più recente 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); 

// se necessario posso fornire il codice javascript per calcolare il numero di righe visibili in

+0

in realtà non voglio usare js per scorrere, sembra essere un problema di Chrome ma non ne sono sicuro. –