2012-02-15 96 views
131

Come faccio a cambiare il puntatore del cursore a portata di mano quando il mouse passa sopra un <tr> in un <table>Cambiare il cursore a portata di mano quando il mouse passa sopra una riga nella tabella di

<table class="sortable" border-style:> 
    <tr> 
    <th class="tname">Name</th><th class="tage">Age</th> 
    </tr> 
    <tr><td class="tname">Jennifer</td><td class="tage">24</td></tr> 
    <tr><td class="tname">Kate</td><td class="tage">36</td></tr> 
    <tr><td class="tname">David</td><td class="tage">25</td></tr> 
    <tr><td class="tname">Mark</td><td class="tage">40</td></tr> 
</table> 

risposta

238

Si potrebbe fare questo senza javascript in realtà.

.sortable tr { 
    cursor: pointer; 
} 
+19

questo funzionerà perfettamente bene senza il ': hover'. 'cursor' definisce a cosa cambia il cursore quando ci si trova sopra il mouse. –

+3

Qualche possibilità che tu possa modificare questa risposta per rimuovere il non necessario ': hover'? La domanda attira ancora l'attenzione 2 anni dopo e sarebbe bello se la risposta accettata non suggerisse di usare ': hover' inutilmente.Penso che porti a un fraintendimento di come 'cursor' funziona e implica che il': hover' è necessario per cambiare il cursore. –

21

Aggiungi cursor: pointer al CSS.

10

Utilizzare lo stile cursor: pointer; nel CSS per l'elemento su cui si desidera che il cursore cambi.

Nel tuo caso, si usa (nel file css):

.sortable { 
    cursor: pointer; 
} 
8

Usare il CSS cursore proprietà in questo modo:

<table class="sortable"> 
    <tr> 
    <th class="tname">Name</th><th class="tage">Age</th> 
    </tr> 
    <tr style="cursor: pointer;"><td class="tname">Jennifer</td><td class="tage">24</td></tr> 
    <tr><td class="tname">Kate</td><td class="tage">36</td></tr> 
    <tr><td class="tname">David</td><td class="tage">25</td></tr> 
    <tr><td class="tname">Mark</td><td class="tage">40</td></tr> 
</table> 

Ovviamente si deve mettere lo stile nel tuo file CSS e applicalo alla classe.

3

usando i CSS

table tr:hover{cursor:pointer;} /* For all tables*/ 
table.sortable tr:hover{cursor:pointer;} /* only for this one*/ 
53

Il modo più semplice che ho trovato è quello di aggiungere

style="cursor: pointer;" 

ai tag.

9

Per la compatibilità con IE 6 < usare questo stile in questo ordine:

.sortable:hover { 
    cursor: pointer; 
    cursor: hand; 
} 

Ma ricordate che IE 7 supporta < :hover pseudoclasse solo con <a> elemento.

11

ho aggiunto questo al mio style.css per gestire le opzioni di cursore:

.cursor-pointer{cursor: pointer;} 
.cursor-croshair{cursor: crosshair;} 
.cursor-eresize{cursor: e-resize;} 
.cursor-move{cursor: move;} 
+0

non va bene se si introducono errori di battitura lungo il percorso (vedi "croshair") – observer

+0

........... yink – Edward

162

Ho cercato stili bootstrap un po 'e abbiamo trovato questo:

[role=button]{cursor:pointer} 

Quindi presumo si può ottenere quello che vuoi con:

<span role="button">hi</span> 
+2

Grazie, non ho notato questo stile specifico! Molto utile – realtebo

+15

Perfetto! Dovrebbe essere usato il modo giusto bootstrap. –

+1

Soluzione elegante. –

1

solo per uno standard delle soluzioni di cui sopra funzionano, ma se si utilizza DataTable, si deve over cavalca le impostazioni predefinite datatatables.css e aggiungi il seguente codice al css personalizzato, Nel codice sottostante riga-seleziona è la classe che ho aggiunto sui datatables come mostrato nell'html.

table.row-select.dataTable tbody td 
{ 
cursor: pointer;  
} 

E html guarderà come di seguito:

<table datatable="" dt-options="dtOptions1" dt-columns="dtColumns1" class="table table-striped table-bordered table-hover row-select" id="datatable"></table> 
+0

Quale soluzione precedente? – Kmeixner

Problemi correlati