|
|
|
||||||||||||||||||||||||||||||||||||
|
Évènements Javascript Un évènement est une action d'un
usager qui est susceptible d'enclencher l'exécution d'une portion
de code. Ces actions peuvent être : appuyer sur une touche du clavier,
sélectionner un item d'une liste, cliquer, déplacer le curseur
de la souris, écrire dans un formulaire ou charger une page.
Les évènements souris :
Les évènements clavier :
Les évènements de sélection
:
Les autres évènements :
Les évènements souris sont les plus utilisés sur Internet puisqu'ils sont intuitif pour l'usager. Ces évènements peuvent être associés à des boutons, liens, cases à cocher ou bouton radio. Un évènement entraîne l'exécution d'une partie de code JavaScript à l'intérieur de balises HTML. Exemple onclick :
Bien sûr, ce code modifie le libellé du bouton après
un click grâce à l'évènement onclick.
L'évènement ondblclick détecte tant qu'à lui, les double-cliques. Cet évènement peut être combiné à onclick pour faire en sorte qu'un même élément de l'interface d'une page, un bouton par exemple, puisse être utilisé de deux manière dépendamment de si on le clique ou le double-clique. Cependant, il n'est pas très standard de faire ceci, car il n'est pas intuitif pour un usager de double-cliquer dans une page Web et ceci pourrait diminuer la clarté de votre site. En plus, lors d'un appel de ondblclick, si un onclick est fournit, il sera lui aussi appelé puisqu'il l'est à chaque clique et qu'un double-clique comporte deux simples cliques. Un usage plus normal de cet évènement serait d'utiliser sur la page des icônes traditionnel tels que «poste de travail», mais encore là c'est à éviter. La syntaxe de ondblclick est similaire à celle de onclick et s'utilise de la même manière.
Un bouton rollover permet une certaine interaction avec l'usager en remplaçant une image par une autre lorsqu'il passe le curseur de sa souris au-dessus d'elle, puis que l'image d'origine réapparaisse lorsque le curseur quitte l'image. Pour ce faire, on doit utiliser les évènements onmouseover et onmouseout. Onmouseover change l'image source pour une nouvelle et onmouseout ramène l'image source. Ce procédé peut être utilisé avec plusieurs éléments. Exemple :
La balise HTML <p> qui indique le début d'un paragraphe accepte les évènements onmouseover et onmouseout ce qui vous permet d'exécuter du code lorsque le curseur passe au-dessus de texte ordinaire. L'évènement onmousemove détecte que le curseur de la souris bouge sur l'écran. l'utilité de lui associer du code à exécuter est nébuleuse.. mais il permet de détecter si l'usager est actif sur son ordinateur.
Parfois on désire faire en sorte que l'usager puisse exécuter
une partie de code simplement en appuyant sur une touche du clavier.
On peut détecter la touche pressée grâce à l'événement
onkeypress. On peut ensuite l'identifier à l'aide de l'objet
window.event.keyCode. Si on résume, onkeypress détecte le fait que l'usager
a cliqué sur une touche. Exemple :
Comme vous pouvez le voir, ce code fait en sorte d'afficher une boîte de message à chaque fois que l'usager appuie sur une touche. Sachez qu'il est aussi possible d'utiliser onkeypress à l'intérieur de n'importe quel objet, champ de texte par exemple, et n'est donc actif que lorsque l'objet en question a le focus. onkeypress se compose de onkeydown et onkeyup. Il faut que la personne est appuyé puis relâché la touche pour former la combinaison nécessaire à l'exécution de onkeypress. On peut traiter les touches séparément si c'est ce qu'on désire. Afin d'afficher à l'écran la valeur des touches appuyées, il est possible d'utiliser fromCharCode. Exemple :
Vous pouvez essayer ce code sur cette page. Avoir le focus, signifie pour un élément d'une page Web, être le code actif. La touche de tabulation déplace le focus parmi les éléments d'une page Web. Le code HTML d'une page permet au webmestre d'établie l'ordre des focus, le «tab order». L'ordre par défaut du déplacement du focus est celui d'apparition des éléments dans la page mais on peut modifier cela grâce à l'attribut tabindex des objets. Afin de détecter quel élément a le focus, on peut
se servir de l'événement onfocus.
onblur au
contraire, détecte quel élément vient de perdre le
focus.
Exemple :
Cet exemple très ordinaire vous montre comment utiliser onfocus afin de calculer automatiquement le montant total d'une facture. Sitôt que le champ de total obtient le focus, il effectue une multiplication entre la quantité et le prix. Chargement et déchargement de page Au fur et à mesure que vous développez une page, son contenu se complexifie et ainsi augmente son temps de chargement, particulièrement pour les internautes qui naviguent par modem téléphonique. Lorsqu'une page prend beaucoup de temps à se charger, il arrive que les utilisateurs se questionnent sur ce qui se passe; ils se demandent si la page est totalement chargée, etc. Il est possible d'utiliser l'événement onload pour indiquer à l'utilisateur que la page est chargée ou lui envoyer n'importe quel message de votre choix lorsqu'il arrive sur votre page. Cet événement s'utilise à l'intérieur de la balise <body>. onload est pratique pour déterminer que tous les graphiques et objets de la page ont été chargés avec de commencer à exécuter les autres scripts de la page. Exemple :
L'événement onunload fait évidemment le contraire, il exécute une partie de code lorsque l'usager quitte la page Web (ou la recharge). Plusieurs webmestres utilisent onload et onunload pour faire apparaître de petites fenêtre de style pop up de publicité au chargement et lors du départ de la page. Éviter d'utiliser une boîte d'alerte avec onunload puisqu'il ne sera pas apprécié par les visiteurs de devoir cliquer cette boîte afin de quitter la page. Il est toujours possible pour un usager de cliquer lorsque la page se charge, le bouton arrêter de son navigateur. Cette action est détectable via l'événement onabort . On peut l'utiliser pour aviser l'utilisateur qu'il n'a pas chargé tous les évènements. L'événement onerror détecte des erreurs lors du chargement des éléments. Lorsque le navigateur n'arrive pas à charger une image ou une page, onerror est appelé. En le captant, il est possible d'afficher un message à cet effet. La méthode window.stop() permet de simuler la fonctionnalité des navigateurs qui permet d'avorter le chargement d'une page. Comprendre l'évènement onerror L'évènement onerror est appelé aussitôt qu'une erreur Javascript survient. On sait qu'une erreur Javascript est arrivé lorsqu'on voit le message d'erreur en popup dans notre navigateur ( ou bien l'icône jaune d'erreur au bas du navigateur). Lorsque cette boîte d'erreur est affichée, on peut voir que son titre est "The onerror event of the window object". Ce que cela signifie, c'est que l'évènement onerror est associé à l'objet window afin que toutes les erreurs d'une page soit repérées, même celles de la section <head>. On sait qu'habituellement, les évènements, tels que onclick, sont appelés à l'intérieur de tag HTML. Cependant, onerror n'est pas inséré dans un tag puisqu'il n'existe pas de tag window. Les créateurs de javascript ont alors utilisé une autre manière pour déclarer cet évènement dont voici la syntaxe :
Le code à la droite de l'appel de l'évènement doit obligatoirement être un appel de fonction par son nom sans les traditionnelles parenthèses. Exemple :
Remarquez l'emplacement de l'appel de l'évènement onerror. Il est déclaré avant les autres codes Javascript, défini dans les balises <head> et seul dans ses propres balises <script>. Cet emplacement est nécessaire afin de s'assurer qu'on capte toutes les erreurs de script à l'intérieur de la page. Utiliser onerror afin de supprimer les erreurs Javascript Afin de supprimer les erreurs Javascript, il suffit de créer une fonction qui ne fait que retourner la valeur true et d'associer cette fonction à l'évènement onerror. Exemple :
Soyez prudents, car ce processus supprimera tous les messages d'erreurs, mais ne réparera pas les erreurs elles-mêmes ! Avant de débugger vos pages, assurez-vous de désactiver la fonction supprimerErreurs. Bien qu'il soit intéressant de supprimer les messages d'erreurs, il est important de comprendre ce qui arrive quand onerror est appelé, et utiliser cela pour créer des fonctions de gestion d'erreurs plus évoluées. Tout d'abord, voyons ce que nous pouvons faire avec les informations que la boîte de message d'erreur par défaut nous offre. Habituellement, cette boîte de navigateur nous donne un message comme celui-ci :
Javascript conserve ces informations en 3 paramètres différents. Afin de pouvoir les récupérer, il suffit d'ajouter des paramètres à la fonctions appelée par onerror. Le premier paramètre sera toujours le message expliquant l'erreur, le second sera le URL de la page contenant l'erreur et le troisième sera le numéro de la ligne. Ainsi si vous ne voulez que le numéro de ligne vous devez créer tout de même les trois paramètres. Ces paramètres peuvent avoir n'importe quel nom. Exemple :
Maintenant que vous savez comment gérer l'évènement onerror, rien ne vous empêche de vous créer vos propres boîtes de messages d'erreurs en utilisant des petites fenêtres en popup ou bien de créer vos rapports d'erreurs en emmagasinant le détail des erreurs dans un vecteur pour ensuite en afficher le contenu. |