événement javascript

Répondre
laura
le 19/10/2009 à 14:39
laura
Bonjours à tous
J'ai un petit problème.
J'utilise des événements javascript sur un champ qui s'appel "title". Les 2 événements produisants le même résultat.

Y-a-t'il une façon plus simple (une version condenser)? Un ou logique entre onblur=function et onfocus=function ?

/*<![CDATA[*/

var title = document.getElementById('title');

//test 1
title.onfocus=function()
{
//evenement
}
//test 2
title.onblur=function()
{
//evenement
}
/*]]>*/
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 20/10/2009 à 03:27
laura
Rien de spécial, mon code fonctionne bien comme ça smiley mais j'voulais juste savoir s'il existait une autre méthode.
C'est plus un désir d'optimisation et d'apprentissage d'éventuelles nouvelles méthodes qui peuvent servir aussi à d'autres smiley
Des étoiles dans les yeux, le ciel pour m'évader
LupusMic
le 21/10/2009 à 16:34
LupusMic
Personnellement, je n'utilises jamais le javascript évenementiel de cette manière. J'utilises toujours addEventListener qui permet de profiter du modèle d'évènements jusqu'au bout.

Si tu veux regarder un code que j'ai fait récemment dans cet esprit, les pages de description de mes projets publiés peuvent t'inspirer (sauf pour le design, je n'ai aucun goût :p ).
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
laura
le 21/10/2009 à 16:48
laura
J'utilise aussi addEventListener ^^ mais là j'ai épurée le code pour ma question.

Je voulais juste savoir s'il y avait une méthode pour 2 événements produisant la même chose.
Une sorte de "OU logique".
La seule solution que j'ai trouvée c'est d'appeler une autre fonction produisant le résultat sur mon champ.

Comme ceci :

//test 1
title.onfocus=function()
{
mon_action();
}
//test 2
title.onblur=function()
{
mon_action();
}
function mon_action()
{
//code commun - action commune
}
Des étoiles dans les yeux, le ciel pour m'évader
LupusMic
le 21/10/2009 à 20:38
LupusMic
La réponse est sous ton nez.

var title = ... ;
var mon_action = function(event)
{
}

title.addEventListener('blur', mon_action, false) ;
title.addEventListener('focus', mon_action, false) ;
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
laura
le 21/10/2009 à 20:53
laura
Ah bah oui c'est une solution parfaite smiley
C'est plus "propre". J'avais juste pas pensée à le faire ainsi smiley J'adopte ta solution et je te remercie beaucoup de ton aide ^^
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 21/10/2009 à 21:02
laura
Par contre pour ceux qui vont lire ce topic et utiliser cette technique, il faut savoir qu'IE (internet explorer) ne reconnait pas addEventListener, il faut donc detecter le navigateur et s'il s'agit IE utiliser attachEvent à la place.
Des étoiles dans les yeux, le ciel pour m'évader
LA GLOBULE
le 21/10/2009 à 23:50
LA GLOBULE
Arf, je n'avais pas saisi que tu faisais exactement la même action pour les 2 evennements moi smiley
laura
le 22/10/2009 à 02:14
laura
Oui d'où mon idée de chercher une méthode permettant un "OU logique" smiley
Mais ça ne doit pas exister smiley
Des étoiles dans les yeux, le ciel pour m'évader
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours