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

เมธอด blur() ใน HTML DOM

เมธอด blur() (blur() Method)

เมธอด blur() ใน HTML DOM ใช้สำหรับนำโฟกัสคีย์บอร์ด (keyboard focus) ออกจากอิลิเมนต์เฉพาะ ผ่าน blur เราสามารถเพิ่มหรือลบ blur ของอิลิเมนต์ HTML ใดๆ ได้ เมธอด blur() ช่วยให้การนำทางรอบหน้าเว็บดีขึ้น เนื่องจากเราสามารถโฟกัสที่อิลิเมนต์เฉพาะได้ตามอินพุตผู้ใช้

ไวยากรณ์ (Syntax)

element.blur()

ตัวอย่างการใช้งาน

ตัวอย่างด้านล่างแสดงการให้และเอา focus ของลิงก์ (<a>)

<!DOCTYPE html>
<html>
<head>
    <style>
        a {
            text-decoration: none;
            font-size: 20px;
        }
        a:focus, a:active {
            color: red;
            text-decoration: underline;
            font-size: 40px;
        }
    </style>
</head>
<body>
    <a id="Anchor" href="https://example.com">example.com</a>
    <p>Give focus or remove focus...</p>
    <input type="button" onclick="getfocus()" value="Get focus">
    <input type="button" onclick="losefocus()" value="Lose focus">
    <script>
        function getfocus() {
            document.getElementById("Anchor").focus();
        }
        function losefocus() {
            document.getElementById("Anchor").blur();
        }
    </script>
</body>
</html>

ผลลัพธ์

เริ่มต้น: ลิงก์ขนาด 20px สีปกติ

คลิก Get focus: ลิงก์ได้ focus - สีแดง, ขีดเส้นใต้, ขนาด 40px

คลิก Lose focus: ลิงก์สูญเสีย focus - กลับสู่สถานะเดิม

คำอธิบายโค้ด

  1. CSS: กำหนด style สำหรับ a (ปกติ) และ a:focus, a:active (เมื่อโฟกัส)
  2. ลิงก์: <a id="Anchor" href="https://example.com">example.com</a>
  3. ปุ่ม Get focus: เรียก getfocus() → element.focus()
  4. ปุ่ม Lose focus: เรียก losefocus() → element.blur()

คำอธิบายเพิ่มเติม

  • focus() และ blur() เป็นเมธอดของ HTMLElement (ทำงานกับทุก element ที่ focusable)
  • Element ที่ focusable โดยค่าเริ่มต้น: <a href>, <button>, <input>, <select>, <textarea>, <area>
  • ทำให้ focusable ได้ด้วย tabindex="0" (ตามลำดับ tab) หรือ tabindex="-1" (programmatic focus เท่านั้น)
  • Event ที่เกี่ยวข้อง: focus, blur, focusin, focusout
  • focusin/focusout บับเบิล (bubble) ได้, focus/blur ไม่บับเบิล
  • เข้าถึง element ที่ focus อยู่: document.activeElement