⊗jsPmOEEE 419 of 505 menu

Hendelseselement i Event-objektet i JavaScript

Objektet Event lar oss også hente elementet der hendelsen inntraff. Dette elementet finnes i egenskapen target. Hvorfor trenger vi dette, når dette elementet finnes i this?

Saken er at this alltid inneholder elementet som hendelsen var bundet til, mens egenskapen target inneholder elementet som faktisk ble klikket på. Dette faktiske elementet kan samsvare med this, eller det kan avvike.

La oss se på et eksempel. Anta at vi har en div, og inni den et avsnitt:

<div id="elem"> <p>tekst</p> </div>

La oss binde en hendelse til div-en, men klikke på avsnittet. Det er opplagt at et klikk på avsnittet samtidig er et klikk på div-en, siden avsnittet er inni vår div.

I det beskrevne tilfellet vil egenskapen target inneholde slutt-elementet der hendelsen inntraff - det vil si avsnittet, og ikke div-en. La oss overbevise oss om dette:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // vil logge avsnittet vårt console.log(this); // vil logge div-en vår });

Anta at du har en liste ul med li-elementer:

ul { padding: 30px; border: 1px solid red; } li { list-style-type: none; margin-bottom: 20px; border: 1px dashed black; } <ul id="elem"> <li>tekst</li> <li>tekst</li> <li>tekst</li> <li>tekst</li> <li>tekst</li> </ul>

:

Bind en klikk-håndterer til ul-elementet. I denne håndtereren, sjekk ved hjelp av egenskapen tagName, hvilket element det ble klikket på. Hvis klikket var på et li-element - legg til et utropstegn på slutten av teksten i det elementet. Og hvis klikket var på ul-elementet - logg informasjon om dette til konsollen.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis