événement javascript
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
Qu'est ce qui te gène la dedans ?
le 20/10/2009 à 03:27
laura
Rien de spécial, mon code fonctionne bien comme ça
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
Des étoiles dans les yeux, le ciel pour m'évader
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.
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
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.
le 21/10/2009 à 20:53
laura
Ah bah oui c'est une solution parfaite
C'est plus "propre". J'avais juste pas pensée à le faire ainsi
J'adopte ta solution et je te remercie beaucoup de ton aide ^^
Des étoiles dans les yeux, le ciel pour m'évader
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
Arf, je n'avais pas saisi que tu faisais exactement la même action pour les 2 evennements moi
le 22/10/2009 à 02:14
laura
Oui d'où mon idée de chercher une méthode permettant un "OU logique"
Mais ça ne doit pas exister
Des étoiles dans les yeux, le ciel pour m'évader
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: