⊗jsPmOEUED 432 of 505 menu

Délégation d'événements universelle en JavaScript

Le code présenté dans la leçon précédente fonctionne, cependant, il n'est pas sans défauts. Analysons ces défauts et écrivons une solution plus universelle.

L'inconvénient de notre code apparaîtra dans le cas où à l'intérieur de li il y aura des balises imbriquées. Dans notre cas, que ce soient les balises i :

<ul> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> </ul>

Dans ce cas, un clic sur la balise i entraînera l'ajout d'un point d'exclamation à la fin de la balise i, et non à la balise li, comme nous le souhaiterions - car dans event.target se trouve précisément la balise où l'événement s'est produit.

Le problème peut être résolu en utilisant la méthode closest :

list.addEventListener('click', function(event) { let li = event.target.closest('li'); if (li) { li.innerHTML = li.innerHTML + '!'; } });

Répétez la solution présentée.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser