onMouseOverイベントとonMouseOutイベントの両方を持つアンカータグがあります。目的は、ツールチップを表示することです。アンカータグにカーソルを合わせると、onMouseOverイベントが適切にトリガーされてツールチップが表示されますが、onMouseOutイベントもトリガーされ、ツールチップは非表示になります。マウスをアンカーリンク上に移動すると、両方のイベントが非常に頻繁に発生し、基本的にツールチップのフラッシュが非常にすばやく表示および非表示になります。onMouseOutは、アンカータグの境界の外に出たときにのみ起動するようにします。
私が関連すると思うコード:
HTML:
<ul>
<li>
<a id="1" href="event.php?1" onmouseover="tooltip(this.offsetWidth, this.offsetHeight, this.childNodes, 1)" onmouseout="tooltipHide(1)">Text</a>
<div class="tt">
<div id="tt2" class="tooltip">
...
</div>
</div>
</li>
<li>
<a id="2" href="event.php?2" onmouseover="tooltip(this.offsetWidth, this.offsetHeight, this.childNodes, 2)" onmouseout="tooltipHide(2)">Text</a>
<div class="tt">
<div id="tt2" class="tooltip">
...
</div>
</div>
</li>
</ul>
Javascript:
function tooltipHide(id) {
tt = document.getElementById("tt"+id);
tt.style.display = "none";
}
function tooltip(oW, oH, e, id) {
...
tt = document.getElementById("tt"+id);
tt.style.display = "block";
...
}