15
JAVASCRIPT DOM - EVENTS +

JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

  • Upload
    doanque

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

JAVASCRIPT DOM - EVENTS

+

Page 2: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

DOM = Document Object Model• API (Application Programming Interface) pour la

manipulation de HTML / XML •Définit la structure logique des documents•Définit la façon d’y accéder, de la manipuler

→ Créer des documents → Parcourir leur structure → Ajouter, effacer, modifier des éléments→ Ajouter, effacer, modifier leur contenu

Page 3: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Voici le code source d’une page simple : Et sont schéma :

<html> <head>

<title>Un titre</title> </head> <body>

<p> Un essai <em>de texte</em>.</p> </body> </html>

Page 4: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Accéder aux éléments :L'objet document possède trois méthodes principales :

- getElementById(); Cette méthode permet d'accéder à un élément en connaissant son Id qui est simplement l'attribut id de l'élément.

- getElementsByTagName(); Cette méthode permet de récupérer, sous la forme d'un tableau, tous les éléments de la même famille.

- getElementsByName() ; Cette méthode permet de récupérer, sous la forme d'un tableau, tous les éléments pourtant le même nom (attribut name).

Page 5: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Editer et modifier les éléments :

Pour interagir avec les attributs, l'objet Element nous fournit deux méthodes, getAttribute() et setAttribute() permettant respectivement de récupérer et d'éditer un attribut.

Soit directement avec les propriétés adéquates.

<body onload = "init()"><a id="yahoo" href="http://www.yahoo.com">YAHOO</a><script>function init(){var link = document.getElementById("yahoo");

var href = link.getAttribute('href'); // On récupère l'attribut « href »alert(href);link.href = 'http://www.google.com';

// On édite l'attribut « href » }

</script></body>

Page 6: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Comment agir sur une page ?

- document.write() : écrire directement dans le document. C’est peu utilisé car cela remplace souvent tout le contenu de la page par le nouveau contenu.

- innerHTML : la méthode la plus couramment utilisé sera de modifier le contenu HTML d’une balise quelconque.

- createElement : la méthode createElement () crée un noeudd'élément avec le nom spécifié. Une fois l'élément créé, utilisez la méthode .appendChild() ou .insertBefore() pour l'insérer dans le document.

Page 7: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Créer et insérer des éléments :

Avec le DOM, l'ajout d'un élément HTML se fait en trois temps :

- on crée l'élément ;

- on lui affecte des attributs ;

- on l'insère dans le document, et ce n'est qu'à ce moment-là qu'il sera « ajouté ».

Page 8: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Exemple : <!DOCTYPE html><html><body><p>Cliquez sur le bouton pour créer un élément BUTTON avec du texte.</p><button onclick="maFonction()">Try it</button><div id="BTN">ici</div><script>function maFonction() {

// on identifie l’emplacement du futur boutonvar Element = document.getElementById("BTN");// on crée le bouton var btn = document.createElement("BUTTON");btn.style.backgroundColor= 'red';// on crée le texte du boutonvar t = document.createTextNode("CLICK ME");// on insère le texte du boutonbtn.appendChild(t);// on insère le boutonElement.appendChild(btn);}

</script></body></html>

Page 9: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Les événements :Javascript est dépendant des événements qui se produisent lors d'actions diverses sur les objets d'un document HTML.

- onLoad;

- onClick

- onMouseover

- onMouseout

- ...

addEventListener permet l'assignation de gestionnaires d'évènements sur un élément cible. La cible d'un évènement peut être un nœud dans un document, le document lui-même, un élément window ou un objet XMLHttpRequest.

Page 10: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Pourquoi utiliser addEventListener :

addEventListener est la manière d'enregistrer un écouteur telle que spécifiée dans le DOM du W3C. Ses avantages sont les suivants :

• Elle permet d'ajouter plus d'un seul gestionnaire pour un évènement.

• Elle donne un contrôle plus fin sur la phase d'activation de l'écouteur (capture ou propagation).

• Elle fonctionne sur tout élément DOM, pas uniquement les éléments HTML.

Page 11: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Exemple :<!DOCTYPE html><html><body><p>Exemple utilisation addEventListener() sur un bouton.</p><button id="monBtn">Try it</button><p id="demo"></p><script>var x = document.getElementById("monBtn");x.addEventListener("mouseover", FonctionOver);x.addEventListener("click", FonctionClick);x.addEventListener("mouseout", FonctionOut);

function FonctionOver() {document.getElementById("demo").innerHTML += "Moused over!<br>";}

function FonctionClick() {document.getElementById("demo").innerHTML += "Clicked!<br>";}

function FonctionOut() {document.getElementById("demo").innerHTML += "Moused out!<br>";}

</script></body></html>

Page 12: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

TPJS – Etudiant :

Au lancement de la page « TPJs.html » du dossier « TPJS – Etudiant », une fenêtre alert() s'ouvre avec le message « YES ».

Page 13: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Vous devez compléter les pages « Codes.js » et « Style.css » pour obtenir le fonctionnement suivant :

Au lancement de la page :

Page 14: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Vous devez compléter les pages « Codes.js » et « Style.css » pour obtenir le fonctionnement suivant :

Après avoir complété le formulaire et cliqué sur le bouton « Valider » :

Page 15: JAVASCRIPT DOM - EVENTSgesi.83.free.fr/Telechargements/MMI/JS - DOM 2018.pdf · DOM = Document Object Model •API (Application Programming Interface) pour la manipulation de HTML

Vous devez compléter les pages « Codes.js » et « Style.css » pour obtenir le fonctionnement suivant :

Après avoir complété le formulaire et cliqué à nouveau sur le bouton « Valider » :