Incompatibilité IE7/ Firefox3 - problème sur "onblur"
matiassa
Messages postés6Date d'inscriptionjeudi 20 novembre 2008StatutMembreDernière intervention25 novembre 2008
-
24 nov. 2008 à 15:30
matiassa
Messages postés6Date d'inscriptionjeudi 20 novembre 2008StatutMembreDernière intervention25 novembre 2008
-
25 nov. 2008 à 17:21
Bonjour,
Je travaille actuellement sur les problème d'incompatibilité IE6/IE7 et Firefox3.
J'utilise plusieurs fonctions javascript telles que:
function hideContextMenu()
{
obj=document.getElementById(
"menu0"
);
obj.style.visibility='hidden';
}
function
blurHandler()
{
obj=document.getElementById(
"menu0"
);
setTimeout(
"hideContextMenu()"
,200);
}
Dans mon application, suite au clic droit de souris, j'affiche un menu (cf."menu0"). Le problème est que le menu affiché ne disparait jamais sous firefox. Après étude du code, il semblerait que ma fonction blurHandler() est bien appelée sous IE mais pas sous Firefox (cf.
ci dessous).
}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.
matiassa
Messages postés6Date d'inscriptionjeudi 20 novembre 2008StatutMembreDernière intervention25 novembre 2008 25 nov. 2008 à 17:21
PB RESOLU!!
En effet, "onblur" ne fonctionne pas dans un div. Cela fonctionnait avec IE, c'est pour ça que je trouvais bizar qu'on me dise que onblur ne marche pas pour un div, mais il semblerait que ce soit un bug de IE, il laisse passer l'erreure.
Pour finir, j'ai fait comme proposé par Petole Team. J'utilise un onmouseout . J'ai ensuite modifié le temps dans ma fonction setTimeout pour que l'utilisateur ait le temps de choisir dans le menu.