Also habe ich das gemacht und es funktioniert in Firefox 3.5 unter Windows XP. Es zeigt ein Feld mit Text, eine Bildüberlagerung und ein transparentes Div darüber, das alle Klicks abfängt.
<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>
Was ich getan habe: Ich habe ein Div erstellt und es so dimensioniert, dass es einer Menüoption von 100 x 40 Pixel entspricht (ein beliebiger Wert, der jedoch bei der Veranschaulichung des Beispiels hilfreich ist).
Das div hat eine Bildüberlagerung und eine Linküberlagerung. Der Link enthält ein Div, dessen Größe mit dem 'menuOption'-Div übereinstimmt. Auf diese Weise wird ein Benutzerklick über die gesamte Box erfasst.
Sie müssen beim Testen Ihr eigenes Image bereitstellen. :) :)
Vorsichtsmaßnahme: Wenn Sie erwarten, dass Ihre Menüschaltfläche auf die Benutzerinteraktion reagiert (z. B. Ändern der Farbe, um eine Schaltfläche zu simulieren), benötigen Sie zusätzlichen Code, der an das Javascript angehängt ist, das Sie für das Tag aufrufen. menuOption 'Element durch das DOM und ändern Sie seine Farbe.
Ich weiß auch nicht, dass Sie ein Klickereignis auf einem Element unter einem sichtbaren Seitenelement registrieren können. Ich habe dies auch diesen Sommer versucht und keine andere Lösung als diese gefunden.
Hoffe das hilft.
PS: Das Aufschreiben von Ereignissen im Quirksmode hat mir sehr geholfen zu verstehen, wie sich Ereignisse in Browsern verhalten.