Nous utilisons la balise div dans les fonctions aspx et javascript pour afficher le menu contextuel dans notre application web. Dans IE6, les sous-menus du menu contextuel s'affichent aux coordonnées x et y correctes que nous avons codées en dur dans notre application. Mais dans IE7 et IE8, les sous-menus se chevauchent et dans certaines machines, les menus passent derrière la fenêtre. Quelqu'un peut-il dire ce qui ne va pas ou d'autres alternatives pour afficher le menu et le sous-menu?Javascript ContextMenu dans IE7
<HTML>
<HEAD>
<TITLE>Nested popup windows</TITLE>
<script>
var firstPopupDiv = null;
var popup = null;
var vpopup = null;
function tag_onclick()
{
var popup = window.createPopup();
var div = popup.document.createElement("DIV");
div.style.backgroundColor = "green";
div.style.width = 200;
div.style.height = 200;
div.onclick = div_onclick;
popup.document.body.appendChild(div);
firstPopupDiv = div;
vpopup = popup.document.parentWindow;
popup.show(30, 30, 200, 200, maindiv);
}
function div_onclick()
{
var fpopup = vpopup.createPopup();
fpopup.document.body.innerHTML = "<div id=\"MarkupSubMenu\" style=\"position:relative\"> Markups</div>";
fpopup.document.body.style.backgroundColor = "red";
fpopup.show(230, 30, 200, 200, firstPopupDiv); // Not shown at 230!
}
</script>
</HEAD>
<BODY>
<div id="maindiv" onclick="tag_onclick()">Click me</div>
</BODY>
</HTML>
Il y a beaucoup de choses qui pourraient aller mal. Vous devriez fournir des exemples de code. Une chose à savoir est le fait que tous les hacks CSS que vous utilisez dans IE6 seront brisés dans IE7, et provoqueront des comportements de mise en page imprévisibles. Il y a aussi la question de savoir quel DOCTYPE vous utilisez, etc. Soyez précis et fournissez tous les détails et vous pourriez obtenir de l'aide. – Robusto