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> ผลลัพธ์
โฉบเหนือพื้นที่สีเขียว (ปลอดภัย) -

โฉบเหนือพื้นที่สีแดงด้านบน (อันตราย) −

โฉบเหนือพื้นที่สีแดงด้านล่าง (อันตราย) −
