HTML DOM MouseEvent Object แสดงถึงเหตุการณ์ที่เกิดขึ้นจากการโต้ตอบของเมาส์กับองค์ประกอบเอกสาร HTML
ที่นี่ “MouseEvent ” สามารถมีคุณสมบัติและวิธีการดังต่อไปนี้ -
คุณสมบัติ/วิธีการ | คำอธิบาย |
---|---|
altKey | แสดงผลว่ามีการกดปุ่ม "ALT" บนแป้นพิมพ์หรือไม่เมื่อเหตุการณ์ของเมาส์ถูกเรียก |
ปุ่ม | ส่งกลับตัวเลขที่ตรงกับปุ่มเมาส์ที่ถูกกดเมื่อเหตุการณ์ของเมาส์ถูกเรียก |
ปุ่ม | แสดงปุ่มเมาส์ที่ถูกกดเมื่อเหตุการณ์เมาส์ถูกเรียก |
clientX | คืนค่าพิกัดแนวนอน (x) ของตัวชี้เมาส์ซึ่งสัมพันธ์กับหน้าต่างปัจจุบันเมื่อเหตุการณ์ของเมาส์ถูกทริกเกอร์ |
clientY | คืนค่าพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ สัมพันธ์กับหน้าต่างปัจจุบัน เมื่อเหตุการณ์ของเมาส์ถูกทริกเกอร์ |
ctrlKey | แสดงผลว่ามีการกดปุ่ม "CTRL" บนแป้นพิมพ์หรือไม่เมื่อมีการทริกเกอร์เหตุการณ์ของเมาส์ |
getModifierState() | คืนค่า จริง หากเปิดใช้งานคีย์ที่ระบุ และเป็นเท็จ หากไม่ |
metaKey | แสดงผลว่ามีการกดปุ่ม "META" บนแป้นพิมพ์หรือไม่เมื่อมีการทริกเกอร์เหตุการณ์ |
การเคลื่อนไหวX | คืนค่าพิกัดแนวนอน (x) ของตัวชี้เมาส์ที่สัมพันธ์กับตำแหน่งของเหตุการณ์ mousemove ล่าสุด |
การเคลื่อนไหวY | คืนค่าพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ที่สัมพันธ์กับตำแหน่งของเหตุการณ์ mousemove ล่าสุด |
offsetX | ส่งกลับพิกัดแนวนอน (x) ของตัวชี้เมาส์ที่สัมพันธ์กับตำแหน่งของขอบขององค์ประกอบเป้าหมาย |
offsetY | คืนค่าพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ที่สัมพันธ์กับตำแหน่งของขอบขององค์ประกอบเป้าหมาย |
pageX | คืนค่าพิกัดแนวนอน (x) ของตัวชี้เมาส์ซึ่งสัมพันธ์กับเอกสารเมื่อเหตุการณ์ของเมาส์ถูกทริกเกอร์ |
หน้าY | คืนค่าพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ที่สัมพันธ์กับเอกสารเมื่อเหตุการณ์ของเมาส์ถูกทริกเกอร์ |
relatedTarget | คืนค่าองค์ประกอบ HTML ที่เรียกเหตุการณ์ของเมาส์ |
screenX | คืนค่าพิกัดแนวนอน (x) ของตัวชี้เมาส์ที่สัมพันธ์กับหน้าจอ เมื่อมีการทริกเกอร์เหตุการณ์ |
หน้าจอY | คืนค่าพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ที่สัมพันธ์กับหน้าจอ เมื่อมีการทริกเกอร์เหตุการณ์ |
shiftKey | แสดงผลว่ามีการกดปุ่ม "SHIFT" บนแป้นพิมพ์หรือไม่เมื่อมีการทริกเกอร์เหตุการณ์ |
อันไหน | ส่งคืนปุ่มเมาส์ที่ถูกกดเมื่อเหตุการณ์เมาส์ถูกเรียก |
ให้เราดูตัวอย่างของ MouseEvent clientX ทรัพย์สิน −
ตัวอย่าง
<!DOCTYPE html> <html> <head> <title>MouseEvent clientX</title> <style> * { padding: 2px; margin:5px; } form { width:70%; margin: 0 auto; text-align: center; } #outer { width:70%; margin: 0 auto; padding: 0; text-align: center; border:1px solid black; height: 105px; background-color: #28a745; } input[type="button"] { border-radius: 10px; } #upper { border-bottom: 1px solid black; height: 40px; margin: 0 0 15px 0; background-color: #DC3545; } #lower { border-top: 1px solid black; height: 40px; margin: 15px 0 0 0; background-color: #DC3545; } </style> </head> <body> <form> <fieldset> <legend>MouseEvent-clientX</legend> <div id="outer"> <div id="upper"><h2>Danger</h2></div> <div id="lower"><h2>Danger</h2></div> </div> <input type="button" id="start" value="Start" onclick="gameStart()"> <div id="divDisplay"></div> </fieldset> </form> <script> var divDisplay = document.getElementById('divDisplay'); var gameDisplay = document.getElementById('outer'); function playGame(event) { var x = event.clientX; var y = event.clientY; if(y > 95 && y < 110){ divDisplay.textContent = 'Keep Going!'; if(x === 439){ divDisplay.textContent = 'Congrats! You Did it!'; gameDisplay.removeEventListener('mousemove', playGame); } } else{ divDisplay.textContent = 'You moved to DANGER area. You loose!'; gameDisplay.removeEventListener('mousemove', playGame); } } function gameStart(){ gameDisplay.addEventListener('mousemove',playGame); } </script> </body> </html>
ผลลัพธ์
หลังจากคลิก 'เริ่ม' ปุ่มและเคอร์เซอร์ในพื้นที่สีเขียว (ปลอดภัย) -
หลังจากคลิก 'เริ่ม' ปุ่มและเคอร์เซอร์ที่ส่วนท้ายของพื้นที่สีเขียว (ปลอดภัย) -
หลังจากคลิก ‘เริ่ม ’ ปุ่มและเคอร์เซอร์ในพื้นที่สีแดง (อันตราย) -
นอกจากนี้ “MouseEvent ” สามารถมีเหตุการณ์ดังต่อไปนี้ −
เหตุการณ์ | คำอธิบาย |
---|---|
onclick | เหตุการณ์เกิดขึ้นเมื่อผู้ใช้คลิกที่องค์ประกอบ |
oncontextmenu | เหตุการณ์เกิดขึ้นเมื่อผู้ใช้คลิกขวาที่องค์ประกอบเพื่อเปิดเมนูบริบท |
ondblclick | เหตุการณ์เกิดขึ้นเมื่อผู้ใช้ดับเบิลคลิกที่องค์ประกอบ |
onmousedown | เหตุการณ์เกิดขึ้นเมื่อผู้ใช้กดปุ่มเมาส์เหนือองค์ประกอบ |
onmouseenter | เหตุการณ์เกิดขึ้นเมื่อตัวชี้ถูกย้ายไปยังองค์ประกอบ |
onmouseleave | เหตุการณ์เกิดขึ้นเมื่อตัวชี้ถูกย้ายออกจากองค์ประกอบ |
onmousemove | เหตุการณ์เกิดขึ้นเมื่อตัวชี้เคลื่อนที่ขณะที่อยู่เหนือองค์ประกอบ |
onmouseout | เหตุการณ์เกิดขึ้นเมื่อผู้ใช้ย้ายตัวชี้เมาส์ออกจากองค์ประกอบหรือจากลูกตัวใดตัวหนึ่ง |
onmouseover | เหตุการณ์เกิดขึ้นเมื่อตัวชี้ถูกย้ายไปยังองค์ประกอบหรือไปยังองค์ประกอบย่อย |
onmouseup | เหตุการณ์เกิดขึ้นเมื่อผู้ใช้ปล่อยปุ่มเมาส์เหนือองค์ประกอบ |
ให้เราดูตัวอย่างของ MouseEvent onmouseout เหตุการณ์ −
ตัวอย่าง
<!DOCTYPE html> <html> <head> <title>MouseEvent onmouseout</title> <style> * { padding: 2px; margin:5px; } form { width:70%; margin: 0 auto; text-align: center; } #outer { width:70%; margin: 0 auto; padding: 0; text-align: center; border:1px solid black; height: 105px; background-color: #28a745; } input[type="button"] { border-radius: 10px; } #upper { border-bottom: 1px solid black; height: 40px; margin: 0 0 15px 0; background-color: #DC3545; } #lower { border-top: 1px solid black; height: 40px; margin: 15px 0 0 0; background-color: #DC3545; } </style> </head> <body> <form> <fieldset> <legend>MouseEvent-onmouseout</legend> <div id="outer" onmouseout="gameStart(event)"> <div id="upper"><h2>Danger</h2></div> <div id="lower"><h2>Danger</h2></div> </div> <div id="divDisplay"></div> </fieldset></form> <script> var divDisplay = document.getElementById("divDisplay"); var textSelect = document.getElementById("textSelect"); function gameStart(event) { var fetchedID = event.relatedTarget.id if(fetchedID !== '') divDisplay.textContent = 'You are hovering over '+fetchedID+' <div> element'; } </script> </body> </html>
ผลลัพธ์
โฉบเหนือพื้นที่สีเขียว (ปลอดภัย) -
โฉบเหนือพื้นที่สีแดงด้านบน (อันตราย) −
โฉบเหนือพื้นที่สีแดงด้านล่าง (อันตราย) −