Zmień kursor na rękę, gdy mysz znajdzie się nad wierszem w tabeli


201

Jak mogę zmienić wskaźnik kursora na dłoni, gdy mój myszy przechodzi ponad <tr>w A<table>

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

Interaktywny fragment kodu sprawdź moją odpowiedź
— fmagno

Odpowiedzi:


350

Możesz to zrobić za pomocą CSS.

.sortable tr {
    cursor: pointer;
}

21
Będzie to działać idealnie bez :hover. cursorokreśla, do czego zmienia się kursor, gdy wskaźnik myszy znajdzie się nad nim.
— James Montagne

3
Czy jest szansa, że ​​możesz zmodyfikować tę odpowiedź, aby usunąć niepotrzebne :hover? Pytanie wciąż przyciąga uwagę 2 lata później i byłoby miło, gdyby zaakceptowana odpowiedź nie sugerowała :hoverniepotrzebnego używania . Myślę, że prowadzi to do nieporozumienia jak cursordziała i sugeruje, że:hover jest to konieczne do zmiany kursora.
— James Montagne

203

Przeszukałem trochę style bootstrap i znalazłem to:

[role=button]{cursor:pointer}

Zakładam, że możesz dostać to, co chcesz:

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

To było miłe dla miłośników bootstrapu, ale pytanie nie dotyczy żadnego frameworku, więc nie rozumiem, dlaczego ta odpowiedź jest odpowiednia dla pytania (nawet jeśli odpowiedź jest świetna)
— Greco Jonathan

@Hooli od 6-2018 jest to najwyższy wynik podczas wyszukiwania „ikony zmiany bootstrapu na wskaźnik po najechaniu myszą”.
— BrianHVB,

1
@ OlivierBoissé Właśnie przetestowałem i na pewno
— DZIAŁA

1
Ważne: Nie dodawaj, role="button"kiedy chcesz dodać style="cursor:pointer;". Po pierwsze, twój element zależy od tego, czy CSS jest zdefiniowany gdzie indziej (i nie zostanie zastąpiony gdzie indziej) i, co najważniejsze, niewłaściwierole używasz atrybutu , po prostu dlatego, że większość użytkowników go nie potrzebuje. Zauważ, że większość czytników ekranu pozwala na iterację po [role=button]elementach, dając użytkownikom z dostępem do sieci możliwość szybkiego przejścia przez wszystkie przyciski strony. Nie zmuszaj ich, aby musieli przejść przez każdy wiersz tabeli, aby dostać się do linków stopki!
— tao

75

Najprostszym sposobem, jaki znalazłem, jest dodanie

style="cursor: pointer;"

do twoich tagów.



17

Dodałem to do mojego style.css, aby zarządzać opcjami kursora:

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

1
źle, jeśli po drodze wprowadzisz literówki (patrz „celownik”)
— obserwator,

12

Aby zachować zgodność z IE <6, użyj tego stylu w tej kolejności:

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

Pamiętaj jednak, że IE <7 obsługuje :hoverpseudoklasę tylko z <a>elementem.


10

Użyj stylu cursor: pointer;w CSS dla elementu, na którym chcesz zmienić kursor.

W twoim przypadku użyłbyś (w pliku .css):

.sortable {
    cursor: pointer;
}

9

Użyj właściwości kursora CSS w następujący sposób:

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

Oczywiście powinieneś umieścić styl w pliku CSS i zastosować go do klasy.


4

Korzystanie z css

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

3

dla standardu powyższe rozwiązania działają, ale jeśli używasz danych, musisz przesłonić domyślne ustawienia datatatables.css i dodać następujący kod do niestandardowego css, w poniższym kodzie wyboru wiersza jest klasa, którą dodałem na danych jak pokazano w html.

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

A Twój HTML będzie wyglądał jak poniżej:

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

Jakie jest powyższe rozwiązanie?
— Kmeixner

2

Przykład z wbudowanymi stylami:

<table>
  <tr> <td style="cursor: pointer;">mouse me over: pointer</td> </tr>
  <tr> <td style="cursor: wait;">mouse me over: wait</td> </tr>
  <tr> <td style="cursor: zoom-in;">mouse me over: zoom-in</td> </tr>
</table>

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.