Igual te he hecho perder tiempo, no consigo que vuelva a actuar como lo hacia ayer cuando te respondí el post.
Lo que veo ahora es que al mover el mouse también desaparece en IE6, aquí no puedo probar con nada más.
De hecho la lógica dice que el evento onMouseOut se lance puesto que se ha interpuesto una capa.
Si sitúas el vértice superior izquierdo de la capa justo al lado del cursor podría funcionarte...así mantendrías el foco en la celda.
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> function showdiv(e,id){
var x = e.clientX;
var y = e.clientY;
var div=document.getElementById('flotante');
detalle=document.getElementById(id);
div.innerHTML=detalle.innerHTML
div.style.left=x+4;
div.style.top=y+4;
div.style.display='';
}
function hidediv() {
var div = document.getElementById('flotante');
div.style.display='none';
}
<!--
#flotante {
background-color: #FF0000;
position: absolute;
}
-->
<td id="c1" onmouseover="showdiv(event,this.id)" onmouseout="hidediv()">1
</td> <td id="c2" onmouseover="showdiv(event,this.id)" onmouseout="hidediv()">2
</td> <td id="c3" onmouseover="showdiv(event,this.id)" onmouseout="hidediv()">3
</td> <td id="c4" onmouseover="showdiv(event,this.id)" onmouseout="hidediv()">4
</td> <div id="flotante" style="display:none" >123
</div>