だから私はこれを行い、それはWindows XPのFirefox 3.5で動作します。テキスト、イメージオーバーレイ、およびすべてのクリックをインターセプトする上の透明なdivを含むボックスが表示されます。
<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>
私が行ったこと:divを作成し、メニューオプションのサイズを100x40px(任意の値ですが、サンプルを説明するのに役立ちます)になるようにサイズ設定しました。
divには、画像オーバーレイとリンクオーバーレイがあります。リンクには、 'menuOption' divと同じサイズのdivが含まれます。このようにして、ユーザーのクリックがボックス全体でキャプチャされます。
テスト時には、独自のイメージを提供する必要があります。:)
警告:メニューボタンがユーザーインタラクションに応答することを期待する場合(たとえば、ボタンをシミュレートするために色を変更する)、タグで呼び出すJavaScriptに追加のコードを添付する必要があります。この追加のコードは ' DOMを介してmenuOption '要素を追加し、その色を変更します。
また、クリックイベントを取得して、表示されているページ要素の下の要素に登録させることができることを私が知る他の方法はありません。私も今年の夏にこれを試しましたが、これ以外に解決策はありませんでした。
お役に立てれば。
PS:quirksmodeでのイベントのまとめは、ブラウザーでのイベントの動作を理解するのに非常に役立ちました。