Bonjour,

Voilà j'ai trouvé comment déclencher plusieurs évènement.
Mais le problème es qu'ils se déclenche tous.
Je souhaite qu'un seul évènement soit déclenché. Donc soit le 1er, le 2ième ou le 3ième.

const eventList = ["click", "input"];
for(event of eventList) {
	document.addEventListener(event, function() {
		document.getElementById('resultat').value = calculxplvl(debutreel, but, xpcombat);
		document.getElementById('resultat2').value = result2;
	});
}


J'ai essayé ceci et çà fonctionne mais si j'ajoute un évènement là non.
const eventList = ["click" || "input"];

Dans ce cas le 3ième évènement ne passe pas.
const eventList = ["click" || "input || DOMContentLoaded"];


Comment faire ?

Cordialement Jérôme
Modifié par Jerome87 (23 Jun 2023 - 22:10)
Bonsoir,

Si vous regardez votre code "qui fonctionne" : c'est un tableau qui est passé en paramètre. Dans ce cas-là le séparateur est une virgule, on le voit dans votre exemple.

Or, vous, de votre côté, vous utilisez un "ou" logique ("||").

Édit : dans le dernier exemple il manque aussi des guillemets...
Modifié par Olivier C (24 Jun 2023 - 00:30)
Effectivement, j'ai écris trop vite.

Donc si je met ce qui suit.
const eventList = ["click" , "input" , "DOMContentLoaded"];


Quand je clique sur la flèche de la case input (type number). La fonction es lancé au click et aussi a l'input. Donc la fonction s'exécute 2 fois. (Je le voit dans console sous chrome)
Dans mon cas ce n'es pas gênant mais je me dit que ce n'es pas bon.

<label for="case1">Nombre :</label>
<input type="number" id="case1" size="4" min="0" max="100">
<label for="resultat">Nombre 2 :</label>
<output type="number" id="resultat2">0</output>


const eventList = ["click" , "input" , "DOMContentLoaded"];
for(event of eventList) {
	document.addEventListener(event, function() {
		document.getElementById('resultat2').value = 50;
	console.log("test1");
	});
}


input[type=number]::-webkit-inner-spin-button {
	opacity: 1;
}


Du coup comment corrigé ce défaut ?

Cordialement Jérôme
dans ce cas de figure ce n'est pas un problème. Mais vous pouvez tester et n'en garder qu'un des deux. Là tout de suite, je dirais de garder "input".
Meilleure solution
Bonjour,

D'accord merci
Effectivement sans l'event "click", çà fonctionne.

Merci beaucoup
Cordialement
Jérôme
Modifié par Jerome87 (24 Jun 2023 - 13:03)