jQuery gére simplement les interactions avec l'utilisateur, nous parlerons d'événements.
Voici la structure de base de la gestion d'un événement :
$('mon sélecteur').on('type événement', fonction de callback)
un exemple :
$('#mon_id').on('click', function(){alert('Hello World !');})
En cas de clic de souris sur l'élément ayant pour id «mon_id», la fonction «function(){alert('Hello World !');}» sera exécutée.
La notion de fonction de callback est essentielle : une fonction de callback sera exécutée seulement après un « événement » donné (ici, un clic de souris sur l'élément ayant pour id «mon_id»), pas avant.
Notre fonction de callback ne porte pas de nom (nous n'avons pas « toto=function(){..} » ou « function toto(){...} »), on parle de fonction anonyme. Le nom d'une fonction est important quand le programmeur désire appeler (exécuter) cette fonction un peu plus loin dans le code, avec par exemple un « toto() ». Ici, ce n'est pas le programmeur qui va « demander » l'exécution de la fonction, mais un événement : donner un nom à notre fonction est inutile
N. B. Il existe énormément d'événements, voici une liste (non exhaustive) :
Créer les 2 fichiers suivants :
index.html
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script src="lib/jquery-2.1.4.min.js"></script>
<script src="javascript/script.js"></script>
</head>
<body>
<button id="afficheListe">Afficher la liste</button>
<ul>
</ul>
</body>
</html>
script.js
$(function(){
var mesFruitsTab=["banane","pomme", "ananas","pêche","fraise"];
var firstClick=0;
$('#afficheListe').on('click',function(){
if (firstClick==0){
for(var i=0;i<mesFruitsTab.length;i++){
$('ul').append('<li>'+mesFruitsTab[i]+'</li>');
}
firstClick=1;
}
});
});
Décrire le résultat attendu. Quel est le rôle de la variable firstClick ?