Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : incompatibilité IE7/ Firefox3 - problème sur "onblur" [ JavaScript et le navigateur / Problème de compatibilité ] (matiassa)

lundi 24 novembre 2008 à 15:30:48 | incompatibilité IE7/ Firefox3 - problème sur "onblur"

matiassa

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. <div> ci dessous).



<
div style = "position:absolute;left:100px;top:0px;z-index:0;visibility:hidden;"

id

= "menu0" onblur = "blurHandler();return true;" >

</

div >

Existe t-il un problème connu avec "onblur" sous firefox?

Si quelqu'un a un idée?

Merci.

 


lundi 24 novembre 2008 à 16:30:08 | Re : incompatibilité IE7/ Firefox3 - problème sur "onblur"

Bul3

Membre Club
bonjour,
on peut dire que les problèmes ça n'existe pas avec un navigateur

plusieurs remarques :
1° pour qu'avec le div on puisse faire quelque chose, il faut qu'il soit visible.
2° lu chez selfhtml :

SELFHTML: JavaScript/DOM / Éléments du langage JavaScript / Gestionnaires d'événements

onBlur (en quittant)

Au cas où l'utilisateur quitte maintenant un élément qui était activé.
D'après JavaScript (Netscape) est permis dans les repères HTML suivants:
<body> <frameset> <input> <layer> <select> <textarea>

D'après HTML 4.0 est permis dans les repères HTML suivants:
<a> <area> <button> <input> <label> <select> <textarea>


donc... point de onblur sur un div
( d'ailleurs ne fonctionne pas non plus avec IE )
tu ne nous montres pas tout !

Cordialement

[mon Site][M'écrire]Bul


lundi 24 novembre 2008 à 17:11:11 | Re : incompatibilité IE7/ Firefox3 - problème sur "onblur"

matiassa

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.

lundi 24 novembre 2008 à 17:14:06 | Re : incompatibilité IE7/ Firefox3 - problème sur "onblur"

matiassa

Désolée, j'ai cliqué sur ajouter le message alors que je n'avais pas terminé.

Je disais donc:

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(");</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.

Voilà.
Merci et encore désolée.

lundi 24 novembre 2008 à 18:18:28 | Re : incompatibilité IE7/ Firefox3 - problème sur "onblur"

PetoleTeam

Membre Club
Bonjour,
pas tout lu mais sur un DIV un onmouseout me semble suffisant...
peut être me trompe je...
;O)

mardi 25 novembre 2008 à 17:21:58 | Re : incompatibilité IE7/ Firefox3 - problème sur "onblur"

matiassa

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.

Merci à tous pour vos réponses.

Matiassa



Cette discussion est classé dans : problème, ie7, incompatibilité, onblur, menu0


Répondre à ce message

Sujets en rapport avec ce message

Problème onblur sur inputbox [ par funseb ] Bonjour, J'ai un énorme problème en javascript, je cherche depuis déjà pas mal de temps et impossible de trouver une solution. Voila mon problème : problème avec 'ondblclick' sous ie7 [ par ludo782 ] Bonsoir tout le monde,IE7 me pose quelques soucis depuis cet après-midi.Je cherche à mettre un listener qui appelle une fonction au double-clique. Je Intercepter touche tab avec ie7 [ par spidle33 ] Bonjour,je rencontre un problème sur un script js. J'essaie d'intercepter la touche tab pour executer une action. Dans Firefox le code suivant fonctio Problème getElementsByClassName() sur IE7 [ par malik7934 ] Hello, Voici un moment que je me prends la tête avec la fonction getElementsByClassName... dans un de mes projets, j'ai le bo Problème d'envoie de formulaire sous IE7 [ par rallierst ] Salut à toutes et à tous,Voilà j'ai fait un formulaire des plus simple, 'envoie se faisant par biais d'une image, rien de particulier. Ce dernier fonc Problème de SetTimeOut() [ par Jpeg69 ] Bonjour tout le monde !J'ai un léger soucis avec le SetTimeOut().Je l'utilise naturellement pour gérer un compte à rebours.Celui-ci marche parfaitemen Onload multiples [ par Drazounet ] Bonjour à tous,En créeant une fonction ayant pour but de s'intégrer à n'importe quel site, je me suis rendu compte d'un gros problème :Elle utilise la modifier le contenu d'une table [ par Nitruk ] Bien le Bonjour.  Je recquiers aujourd'hui votre aide suite à la rencontre d'un problème de compatibilité IE/Firefox :  J'ai écrit un qui quand on cli menu déroulant [ par eteasdale ] Voici mon problème.Je dois fabriquer 5 menus déroulants ayant des informations différente (ex.:menu1. sorte d'automobile - menu2. couleur - menu3. ann une concaténation au lieu d'une addition [ par Finality ] Bonsoir,je rencontre actuellement un problème bizarre : j'ammerais ajouter 1 à un contenu d'un input. Pour cela j'utilise ce code :document.getElement


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,045 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.