ดังนั้นฉันจึงทำสิ่งนี้และใช้งานได้ใน Firefox 3.5 บน Windows XP จะแสดงกล่องที่มีข้อความบางส่วนภาพซ้อนทับและ div โปร่งใสด้านบนซึ่งสกัดกั้นการคลิกทั้งหมด
<div id="menuOption" style="border:1px solid black;position:relative;width:100px;height:40px;">
sometext goes here.
<img id="imgOverlay" src="w3.png" style="z-index:4;position:absolute;top:0px;left:0px;width:100px;height:40px;" \>
<a href="javascript:alert('Hello!')" >
<div id="mylinkAction" style="z-index:5;position:absolute;top:0px;left:0px;width:100px;height:40px;">
</div>
</a>
</div>
สิ่งที่ฉันทำ: ฉันได้สร้าง div และปรับขนาดให้เป็นตัวเลือกเมนูที่มีขนาดเท่ากับ 100x40px (เป็นค่าที่กำหนดเอง แต่จะช่วยในการแสดงตัวอย่าง)
div มีภาพซ้อนทับและการซ้อนทับลิงก์ ลิงก์มีขนาด div ที่จะเหมือนกับ div "menuOption" วิธีนี้จะบันทึกการคลิกของผู้ใช้ทั่วทั้งกล่อง
คุณจะต้องให้ภาพของคุณเองเมื่อทำการทดสอบ :)
ข้อแม้: หากคุณคาดหวังว่าปุ่มเมนูของคุณจะตอบสนองต่อการโต้ตอบของผู้ใช้ (ตัวอย่างเช่นการเปลี่ยนสีเพื่อจำลองปุ่ม) คุณจะต้องมีโค้ดพิเศษที่แนบมากับจาวาสคริปต์ที่คุณจะเรียกใช้บนแท็กโค้ดพิเศษนี้สามารถระบุ ' menuOption 'ผ่าน DOM และเปลี่ยนสี
นอกจากนี้ยังไม่มีวิธีอื่นใดที่ฉันรู้ว่าคุณสามารถใช้เหตุการณ์คลิกและให้ลงทะเบียนกับองค์ประกอบที่อยู่ใต้องค์ประกอบของหน้าที่มองเห็นได้ ฉันได้ลองสิ่งนี้เช่นกันในฤดูร้อนนี้และไม่พบวิธีแก้ปัญหาอื่นนอกจากนี้
หวังว่านี่จะช่วยได้
ปล: การเขียนเกี่ยวกับเหตุการณ์ที่quirksmodeช่วยให้ฉันเข้าใจว่าเหตุการณ์ต่างๆทำงานอย่างไรในเบราว์เซอร์