J'ai donc fait cela et il fonctionne dans Firefox 3.5 sur Windows XP. Il montre une boîte contenant un texte, d'une superposition d'image, et un transparent div ci-dessus qui intercepte tous les clics.
<div id="menuOption" style="border:1px solid black;position:relative;width:100px;height:40px;">
sometext goes here.
<!-- Place image inside of you menu bar link -->
<img id="imgOverlay" src="w3.png" style="z-index:4;position:absolute;top:0px;left:0px;width:100px;height:40px;" \>
<!-- Your link here -->
<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>
Ce que j'ai fait:
J'ai créé un div et de la taille à être ce qu'est une option de menu peut être dimensionné pour, 100x40px (d'une valeur arbitraire, mais il contribue à illustrer l'échantillon).
La div a une superposition d'image, et un lien de superposition. Le lien contient un div de taille à être le même que le "menuOption' div. De cette façon, un utilisateur, cliquez sur est capturé à travers l'ensemble de la zone.
Vous devrez fournir votre propre image lors de l'essai. :)
Mise en garde:
Si vous prévoyez votre menu bouton pour répondre à l'interaction de l'utilisateur (par exemple, la modification de la couleur pour simuler un bouton), puis vous aurez besoin d'un code supplémentaire attaché à l'javascript vous permettra d'invoquer sur l'étiquette, ce code supplémentaire pourrait répondre à la 'menuOption' élément à travers les DOM et en modifier la couleur.
Aussi, il n'y a pas d'autre moyen je sais que vous pouvez prendre un événement de clic, et d'y faire inscrire sur un élément en dessous d'une page visible de l'élément. J'ai essayé ce que bien cet été, et n'a trouvé aucune autre solution, mais cela.
Espérons que cette aide.
PS:
Le writeup sur les événements à quirksmode est allé un long chemin pour m'aider à comprendre la façon dont les événements se comporter dans les navigateurs.