Fonction en paramètre d'une fonction

Ekik Messages postés 20 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 29 janvier 2004 - 10 déc. 2003 à 14:19
Ekik Messages postés 20 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 29 janvier 2004 - 12 déc. 2003 à 08:43
Bonjours,

Je voudrais créer une fonction qui me permet d'effectuer telle ou telle action suivant le bouton de la souris qui a été cliqué.

Le code que j'ai pour le moment est le suivant :

<html>

<head>

<script language="Javascript">
<!--
function ClicGauche(){
alert('Clic gauche !');
}

function ClicDroit(){
alert('Clic droit !');
}

function Clic(f1,f2){
if (event.button == 1){
f1();
}
if (event.button == 2){
f2();
}
}
//-->
</script>
</head>

   Test

</html>


Mais le problème, c'est que les fonctions qui sont passées en paramètres dans la fonction Clic() sont appelé directement et donc, les fonctions ClicGauche() et ClicDroit() se lancent dès que je clique.

Voila, j'ai essayé d'expliquer le plus clairement possible. C'est assez compliqué dans la mesure ou moi-même ne comprend pas totalement ce que je dois faire.

Merci d'avance
Cédric

9 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
10 déc. 2003 à 14:52
Bonjour
par exemple

ais-je répondu au problème ?
Cordialement. Bul
0
Ekik Messages postés 20 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 29 janvier 2004
10 déc. 2003 à 15:09
Merci d'avoir répondu si rapidement.

Oui, vous m'avez fais faire un grand pas mais le petit problème qu'il reste c'est que je dois juste utiliser la méthode onclick avec une fonction. Et c'est cette fonction qui éxecutera les actions suivant le clic.

Merci
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
10 déc. 2003 à 15:23
Bonjour.
========
oncontextmenu=fonction(1);
onclick=fonction(2);

function fonction(appel)
{ .....
switch appel {
case 1://click gauche
....
break;
case 2://click droit
....
break;
}
......
}
========
ou
========
oncontextmenu=app1();
onclick=app2();

function commun() {}
function app1()
{ ... commun(); ... }
function app2()
{ ... commun(); ... }
========

par exemple, ne conviendraient pas ?
d'autres solutions sont possibles
Cordialement. Bul
0
Ekik Messages postés 20 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 29 janvier 2004
10 déc. 2003 à 15:56
C'est possible que ca soit ca qu'il me faut mais je vois pas comment utiliser votre exemple.

Par exemple avec un bouton, comment je devrai l'utiliser?

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 déc. 2003 à 10:21
Bonjour

<! bouton >

<! ou image >

<! ... >
<script language="Javascript">
function fonction(appel)
{switch (appel) {
case 1://click droit
alert("droit");
break;
case 2://click gauche
alert("gauche");
break; } }
</script>

par exemple
Cordialement. Bul
0
Ekik Messages postés 20 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 29 janvier 2004
11 déc. 2003 à 10:41
Bonjour,

Merci beaucoup pour votre aide.

Cela me donne le résultat désiré, le seul problème, c'est que je devrai utiliser que la méthode onclick. Est-ce qu'il y aurai un moyen d'y arriver ?

Merci encore pour tout.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 déc. 2003 à 14:54
onmousedown
onmouseup ..

Cordialement. Bul
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 déc. 2003 à 16:36
pas fini message précédent :
onclick c'est le click sur le bouton gauche et c'est tout
Cordialement. Bul
0
Ekik Messages postés 20 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 29 janvier 2004
12 déc. 2003 à 08:43
D'accord, ben je vais essayer tout ca, et si ca marche pas, ben tant pis. Merci beaucoups bultez, c'est vraiment sympa de ta part de m'avoir aidé.

Merci beaucoups

Cédric
0
Rejoignez-nous