Ok. D'après ce que tu me dis, ça ne peut pas fonctionner dans un div.
Peut-être, comme tu le dis, je n'ai pas tout compris (je débute en javascript).
Peut être que le "onblur" de mon div fonctionne car il est associé à "event.layerY" dans ma fonction
function
showContextMenu(arrMenu,event,wind){if(is_ie && !is_ie7 )return;obj=document.getElementById("menu0");callerWindow=wind;
menuText=
"<table border=0 cellpadding=0 cellspacing=1 class=menutab background='<%=IMAGES_DIR%>menubg.gif'>";for(i=0;i<arrMenu.length;i++){if
(arrMenu[i]=="hr")menuText+="<tr><td height=5 background='<%=IMAGES_DIR%>menusplit.gif'><img src='<%=IMAGES_DIR%>spacer.gif' height=5></td></tr>";else{
menuText+="<tr><td><"+"a href=# onclick=\"callerWindow.invoke('"+arrMenu[i][2]+"')\" class=menulink><img src=\"<%=IMAGES_DIR%>spacer.gif\" border=0 width=20 height=20 align=absmiddle>"+arrMenu[i][1]+"</a></td></tr>";}}
menuText+="</table>";obj.innerHTML=menuText;
if(is_ie ){obj.style.left=event.x;obj.style.top=event.y;
}else{obj.style.left=event.layerX;obj.style.left=event.layerY;
}obj.style.visibility='visible';obj.focus();
}
Cette fonction est appelée par :
function
rightClickOverride(event){if
(navigator.appName == "Netscape") {parent.showContextMenu(contextMenu,event,window);return false;}avec "
contextMenu" défini dans une classe java de la manière suivante :
out.write("<script> var contextMenu=new Array(");
out.write("new Array('',\""+Res.getString("menu_sub_directory",request)+"\",\"doNewFolder()\"),\n");
out.write("new Array('',\""+Res.getString("menu_template",request)+"\",\"doNewTemplate()\"),\n");
out.write("'hr',\n");
out.write("new Array('',\""+Res.getString("menu_copy",request)+"\",\"doCopyCut(false)\"),\n");
out.write("new Array('',\""+ Res.getString("menu_cut",request)+"\",\"doCopyCut(true)\"),\n");
out.write("new Array('',\""+ Res.getString("menu_paste",request)+"\",\"doPaste()\"),\n");
out.write("'hr',\n");
out.write("new Array('',\""+Res.getString("menu_rename_directory",request)+"\",\"doRenameFolder()\"),\n");
out.write("new Array('',\""+Res.getString("menu_delete_directory",request)+"\",\"doDeleteFolder()\")\n");
}else{
out.write("new Array('',\""+Res.getString("menu_new_document",request)+"\",\"doNewDocument()\"),\n");
out.write("new Array('',\""+ Res.getString("menu_paste",request)+"\",\"doPaste()\")\n");
}
out.write(");</script>");
Honnetement, je débute sur l'application et j'ai a rechercher dans énormémént de fichiers, donc en effet, il se peut que je ne voit pas tout.