HTML DOM MouseEvent Object แทน event ที่เกิดขึ้นเมื่อมีการโต้ตอบของเมาส์กับองค์ประกอบ HTML document
ที่นี่ "MouseEvent" สามารถมีคุณสมบัติและเมธอดดังต่อไปนี้:
| คุณสมบัติ/เมธอด | คำอธิบาย |
|---|---|
| altKey | ส่งคืนว่าปุ่ม "ALT" บนคีย์บอร์ดถูกกดเมื่อ mouse event ถูกกระตุ้น |
| button | ส่งคืนตัวเลขที่สอดคล้องกับปุ่มเมาส์ใดถูกกดเมื่อ mouse event ถูกกระตุ้น |
| buttons | ส่งคืนว่าปุ่มเมาส์ใดถูกกดเมื่อ mouse event ถูกกระตุ้น |
| clientX | ส่งคืนพิกัดแนวนอน (x) ของตัวชี้เมาส์ สัมพัทธ์กับหน้าต่างปัจจุบัน เมื่อ mouse event ถูกกระตุ้น |
| clientY | ส่งคืนพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ สัมพัทธ์กับหน้าต่างปัจจุบัน เมื่อ mouse event ถูกกระตุ้น |
| ctrlKey | ส่งคืนว่าปุ่ม "CTRL" ถูกกดบนคีย์บอร์ดเมื่อ mouse event ถูกกระตุ้น |
| getModifierState() | ส่งคืน true หากปุ่มที่ระบุถูกเปิดใช้งาน false หากไม่ได้ |
| metaKey | ส่งคืนว่าปุ่ม "META" ถูกกดบนคีย์บอร์ดเมื่อ event ถูกกระตุ้น |
| movementX | ส่งคืนพิกัดแนวนอน (x) ของตัวชี้เมาส์ สัมพัทธ์กับตำแหน่งของ mousemove event ล่าสุด |
| movementY | ส่งคืนพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ สัมพัทธ์กับตำแหน่งของ mousemove event ล่าสุด |
| offsetX | ส่งคืนพิกัดแนวนอน (x) ของตัวชี้เมาส์ สัมพัทธ์กับขอบของ target element |
| offsetY | ส่งคืนพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ สัมพัทธ์กับขอบของ target element |
| pageX | ส่งคืนพิกัดแนวนอน (x) ของตัวชี้เมาส์ สัมพัทธ์กับ document เมื่อ mouse event ถูกกระตุ้น |
| pageY | ส่งคืนพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ สัมพัทธ์กับ document เมื่อ mouse event ถูกกระตุ้น |
| relatedTarget | ส่งคืน HTML element ที่กระตุ้น mouse event |
| screenX | ส่งคืนพิกัดแนวนอน (x) ของตัวชี้เมาส์ สัมพัทธ์กับหน้าจอ เมื่อ event ถูกกระตุ้น |
| screenY | ส่งคืนพิกัดแนวตั้ง (y) ของตัวชี้เมาส์ สัมพัทธ์กับหน้าจอ เมื่อ event ถูกกระตุ้น |
| shiftKey | ส่งคืนว่าปุ่ม "SHIFT" ถูกกดบนคีย์บอร์ดเมื่อ event ถูกกระตุ้น |
| which | ส่งคืนว่าปุ่มเมาส์ใดถูกกดเมื่อ mouse event ถูกกระตุ้น |
ตัวอย่างการใช้งาน 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>
ผลลัพธ์
หลังจากคลิก 'Start' และเคอร์เซอร์อยู่ในพื้นที่สีเขียว (ปลอดภัย):

หลังจากคลิก 'Start' และเคอร์เซอร์อยู่ปลายพื้นที่สีเขียว (ปลอดภัย):

หลังจากคลิก 'Start' และเคอร์เซอร์อยู่ในพื้นที่สีแดง (อันตราย):

นอกจากนี้ "MouseEvent" ยังมี events ดังต่อไปนี้:
| Event | คำอธิบาย |
|---|---|
| onclick | Event เกิดเมื่อผู้ใช้คลิกที่องค์ประกอบ |
| oncontextmenu | Event เกิดเมื่อผู้ใช้คลิกขวาที่องค์ประกอบเพื่อเปิด context menu |
| ondblclick | Event เกิดเมื่อผู้ใช้ดับเบิลคลิกที่องค์ประกอบ |
| onmousedown | Event เกิดเมื่อผู้ใช้กดปุ่มเมาส์บนองค์ประกอบ |
| onmouseenter | Event เกิดเมื่อตัวชี้ถูกย้ายเข้าสู่องค์ประกอบ |
| onmouseleave | Event เกิดเมื่อตัวชี้ถูกย้ายออกจากองค์ประกอบ |
| onmousemove | Event เกิดเมื่อตัวชี้กำลังเคลื่อนที่ขณะอยู่เหนือองค์ประกอบ |
| onmouseout | Event เกิดเมื่อผู้ใช้ย้ายเมาส์ออกจากองค์ประกอบ หรือลูกของมัน |
| onmouseover | Event เกิดเมื่อตัวชี้ถูกย้ายเข้าสู่องค์ประกอบ หรือลูกของมัน |
| onmouseup | Event เกิดเมื่อผู้ใช้ปล่อยปุ่มเมาส์บนองค์ประกอบ |
ตัวอย่างการใช้งาน 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>
ผลลัพธ์
Hover บนพื้นที่สีเขียว (ปลอดภัย):

Hover บนพื้นที่สีแดงบน (อันตราย):

Hover บนพื้นที่สีแดงล่าง (อันตราย):
