เปลี่ยนเคอร์เซอร์ของเมาส์บนเมาส์เป็นลักษณะเหมือนจุดยึด


111

ถ้าฉันวางเมาส์เหนือdivเคอร์เซอร์ของเมาส์จะเปลี่ยนเป็นเคอร์เซอร์แบบนั้นในจุดยึด HTML

ฉันจะทำเช่นนี้ได้อย่างไร? ฉันต้องการ Javascript หรือเป็นไปได้ด้วย CSS เท่านั้น?

คำตอบ:


225

สมมติว่าคุณdivมีให้id="myDiv"เพิ่มสิ่งต่อไปนี้ใน CSS ของคุณ cursor: pointerระบุว่าเคอร์เซอร์ที่ควรจะเป็นไอคอนรูปมือเดียวกับที่ใช้งานสำหรับแองเคอ (เชื่อมโยงหลายมิติ):

CSS เพื่อเพิ่ม

#myDiv
{
    cursor: pointer;
}

คุณสามารถเพิ่มรูปแบบเคอร์เซอร์ให้กับdivHTML ของคุณได้ดังนี้:

<div style="cursor: pointer">

</div>

แก้ไข:

หากคุณตั้งใจที่จะใช้ jQuery สำหรับสิ่งนี้ให้เพิ่มบรรทัดต่อไปนี้ใน$(document).ready()หรือ body ของคุณonload: (แทนที่myClassด้วยคลาสใดก็ตามที่คุณdivแชร์ทั้งหมด)

$('.myClass').css('cursor', 'pointer');

ฉันต้องการทำสิ่งนี้โดยใช้ jquery ไม่ใช่ css
น้อย

7
@guru: ไม่จำเป็นต้องเขียนสคริปต์ สิ่งที่คุณต้องทำคือเพิ่มลงstyle="cursor: pointer"ในdivHTML ของคุณ ฉันจะแก้ไขคำตอบของฉันด้วยตัวอย่าง
Devin Burke

ชี้": มีห้าส่วนที่มีระดับเดียวกันฉันไม่สามารถเพิ่มทั้งหมดนี้ "style =" เคอร์เซอร์เป็น
shibly

@guru หาก div ทั้งหมดมีคลาสเดียวกันคุณสามารถเพิ่ม "cursor: pointer" ลงในกฎ CSS สำหรับคลาสนั้นในไฟล์ CSS ของเพจได้
โจมตี

1
หากปัญหาเป็นหนึ่งในการกำหนดเป้าหมายตามที่จัสตินถามแล้วและอย่างที่ทุกคนต้องถามโพสต์รหัสเพื่อให้เราช่วยคุณแนบ
Sinetheta

24

หากคุณต้องการทำสิ่งนี้ใน jQuery แทน CSS โดยทั่วไปคุณจะทำตามขั้นตอนเดียวกัน

สมมติว่าคุณมีบางส่วน<div id="target"></div>คุณสามารถใช้รหัสต่อไปนี้:

$("#target").hover(function() {
    $(this).css('cursor','pointer');
}, function() {
    $(this).css('cursor','auto');
});

และควรทำ


3
นี้เป็นฟุ่มเฟือยเพราะเคอร์เซอร์สำหรับdivเป็นเพียงมองเห็นได้เมื่อเมาส์อยู่เหนือมัน ไม่มีเหตุผลที่จะลบออกเมื่อผู้ใช้เลื่อนออกไปเนื่องจากจะไม่เห็นเคอร์เซอร์ในเวลานั้น
Devin Burke

2
แม้ว่าคำถามจะถูกถามอย่างแคบมาก (เกี่ยวกับ DIV) คำตอบนี้ใช้ในวงกว้าง มันมีประโยชน์สำหรับองค์ประกอบ HTML เช่นตาราง <p> ปุ่ม ฯลฯ นั่นคือเหตุผลที่ฉัน +1 มัน
PeteH

10

คุณไม่จำเป็นต้องใช้ jQuery เพียงแค่ CSS ตัวอย่างเช่นนี่คือ HTML บางส่วน:

<div class="special"></div>

และนี่คือ CSS:

.special
{
    cursor: pointer;
}


0

ฉันคิดว่า:hoverไม่มีในคำตอบข้างต้น ดังนั้นการติดตามจะเป็นสิ่งที่จำเป็น (ถ้าจำเป็นต้องใช้ css)

#myDiv:hover
{
    cursor: pointer;
}

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