Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

HTML DOM MouseEvent Object


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' และเคอร์เซอร์อยู่ในพื้นที่สีเขียว (ปลอดภัย):

HTML DOM MouseEvent Object

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

HTML DOM MouseEvent Object

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

HTML DOM MouseEvent Object

นอกจากนี้ "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 บนพื้นที่สีเขียว (ปลอดภัย):

HTML DOM MouseEvent Object

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

HTML DOM MouseEvent Object

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

HTML DOM MouseEvent Object