begin process at 2012 02 14 10:21:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Problème de compatibilité

 > 

incompatibilité IE7/ Firefox3 - problème sur "onblur"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

incompatibilité IE7/ Firefox3 - problème sur "onblur"

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ée dans : problème, ie7, incompatibilité, onblur, menu0


Répondre à ce message

Sujets en rapport avec ce message

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 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 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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales