CSS pointer-events กำหนดให้ div คลิกไม่ได้

CSS3-เทคนิค-เขียนเว็บ
CSS3-เทคนิค-เขียนเว็บ

CSS pointer-events กำหนดให้ div คลิกไม่ได้

สำหรับคนที่พัฒนา Web Application และ HTML5 Game ที่ต้องมีการคลิกปุ่มต่าง ๆ ภายในเว็บไซต์อยู่หลายจุด
div หรือ html element ต่าง ๆ เต็มหน้าเว็บเพจไปหมด อาจจะเคยเจอปัญหาเรื่องของการกำหนดพื้นที่การคลิก
เพราะบางทีอาจจะมี div บางตัวมาทับ div ที่เราอยากให้คลิกได้ทำให้พื้นที่การคลิกและการทำงานของโปรแกรมผิดพลาด
เราสามารถใช้คำสั่ง pointer-events เพื่อ disable div ที่ไม่ต้องการให้รับ events จาก mouse ได้

CSS หรือที่ย่อมาจากคำว่า Cascading Style Sheets มีคำสั่งอยู่คำสั่งหนึ่งที่บังคับไม่ให้เกิด events ใด ๆ
เมื่อมีการคลิกที่ div นั้น ๆ คือคำสั่ง pointer-events:none อาจจะมีอยู่หลายเหตุผลที่เราต้องการไม่ให้
div นั้นคลิกได้หรืออาจจะมี div บางตัวที่บดบัง div ที่เราต้องการให้คลิกได้ เราสามารถใช้คำสั่ง pointer-events
เพื่อกำหนดให้ div นั้น ๆ ไม่ทำงานเมื่อมีเหตุการณ์ click

 

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

.avoid-clicks {
  pointer-events: none;
}

 

property values ของ pointer-events

  • none ป้องกันไม่ให้เกิดการคลิกใด ๆ และไม่แสดง mouse cursor
  • auto เริ่มต้นการทำงานใหม่ของคำสั่ง pointer-events คือเปลี่ยนเป็นคลิกได้นั่นเอง
  • inherit กำหนดรูปแบบตาม element ที่ครอบตัวเองอยู่ จะคลิกได้หรือไม่ได้ขึ้นอยู่กับ element ที่ครอบตัวเองอยู่

ถ้าเราพัฒนา Web Application ซึ่งมีปุ่มหรือลิ้งอยู่มาก และต้อง interactive กับ user หลาย ๆ จุด
คำสั่ง pointer-events เป็นคำสั่ง css ที่ใช้งานค่อนข้างบ่อย