เปลี่ยนเคอร์เซอร์เป็นมือเมื่อวางเมาส์เหนือแถวในตาราง


201

ฉันจะเปลี่ยนชี้เคอร์เซอร์ไปที่มือวิธีเมื่อเมาส์ของฉันไปมากกว่า<tr>ใน<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>

สำหรับตัวอย่างโค้ดแบบโต้ตอบตรวจสอบคำตอบของฉัน
fmagno

คำตอบ:


350

คุณสามารถทำได้ด้วย CSS จริง

.sortable tr {
    cursor: pointer;
}

21
:hoverนี้จะทำงานสมบูรณ์ดีโดยไม่ต้อง cursorกำหนดสิ่งที่เคอร์เซอร์เปลี่ยนเมื่อเมาส์ของคุณอยู่เหนือมัน
James Montagne

3
โอกาสใดที่คุณสามารถแก้ไขคำตอบนี้เพื่อลบคำตอบที่ไม่ต้องการออกได้:hover? คำถามยังคงได้รับความสนใจ 2 ปีต่อมาและมันจะดีถ้าคำตอบที่ยอมรับไม่ได้แนะนำให้ใช้โดย:hoverไม่จำเป็น ฉันคิดว่ามันนำไปสู่ความเข้าใจผิดเกี่ยวกับวิธีการcursorทำงานและบอกเป็นนัยว่า:hoverจำเป็นต้องเปลี่ยนเคอร์เซอร์
James Montagne

203

ฉันค้นหาสไตล์บูตเล็กน้อยและพบสิ่งนี้:

[role=button]{cursor:pointer}

ดังนั้นฉันคิดว่าคุณจะได้รับสิ่งที่คุณต้องการด้วย:

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

มันเป็นสิ่งที่ดีสำหรับผู้สนใจรักบูต แต่คำถามไม่เกี่ยวข้องกับกรอบหน้าใด ๆ ดังนั้นผมจึงไม่เข้าใจว่าทำไมคำตอบนี้มีความเกี่ยวข้องกับคำถาม (แม้ว่าคำตอบคือดี)
เกรโกโจนาธาน

@Hooli ตั้งแต่ 6-2018 นี่คือโพสต์ตอนนี้เป็นผลการค้นหาอันดับต้น ๆ เมื่อค้นหา "ไอคอนการเปลี่ยนแปลง bootstrap ไปยังตัวชี้บนโฮเวอร์"
BrianHVB

1
@ OlivierBoisséเพิ่งทดสอบและแน่นอนที่สุดมันทำงานกับ BS 4
Gabe Hiemstra

1
สำคัญ:อย่าเพิ่มเมื่อคุณต้องการที่จะเพิ่มrole="button" style="cursor:pointer;"ก่อนอื่นองค์ประกอบของคุณขึ้นอยู่กับ CSS ที่ถูกกำหนดไว้ที่อื่น (และไม่ถูกแทนที่ที่อื่น) และที่สำคัญที่สุดคือคุณใช้roleแอตทริบิวต์ในทางที่ผิดเพียงเพราะผู้ใช้ส่วนใหญ่ไม่ต้องการ หมายเหตุโปรแกรมอ่านหน้าจอส่วนใหญ่อนุญาตให้วนซ้ำผ่าน[role=button]องค์ประกอบต่างๆที่ทำให้ผู้ใช้สามารถเข้าถึงการท้าทายทางเว็บได้อย่างรวดเร็วผ่านปุ่มหน้าทั้งหมด อย่าทำให้พวกเขาต้องผ่านแต่ละแถวของตารางเพื่อไปยังลิงก์ส่วนท้าย!
เทา



17

ฉันได้เพิ่มสิ่งนี้ไว้ใน style.css ของฉันเพื่อจัดการตัวเลือกเคอร์เซอร์:

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

1
ไม่ดีถ้าคุณแนะนำความผิดพลาดไปพร้อมกัน (ดู "croshair")
ผู้สังเกตการณ์

12

สำหรับความเข้ากันได้กับ IE <6 ให้ใช้สไตล์นี้ตามลำดับ:

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

แต่จำไว้ว่า IE <7 รองรับ:hoverpseudoclass เฉพาะกับ<a>องค์ประกอบเท่านั้น


10

ใช้สไตล์cursor: pointer;ใน CSS สำหรับองค์ประกอบที่คุณต้องการให้เคอร์เซอร์เปลี่ยน

ในกรณีของคุณคุณจะใช้ (ในไฟล์. css):

.sortable {
    cursor: pointer;
}

9

ใช้คุณสมบัติเคอร์เซอร์ CSS เช่นนั้น:

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

แน่นอนคุณควรใส่สไตล์ลงในไฟล์ CSS ของคุณและใช้กับคลาส



3

สำหรับโซลูชันมาตรฐานด้านบนใช้งานได้ แต่ถ้าคุณใช้ DataTable คุณจะต้องแทนที่การตั้งค่าเริ่มต้นและการเพิ่มรหัสต่อไปนี้ไปยัง CSS ที่กำหนดเองในรหัสด้านล่างแถวเลือกเป็นชั้นที่ฉันเพิ่มใน DataTable ดังที่แสดงใน html

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

และคุณ html จะมีลักษณะดังนี้:

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

วิธีการแก้ปัญหาข้างต้นคืออะไร?
Kmeixner

2

ตัวอย่างที่มีสไตล์แบบอินไลน์:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.