⊗jsPmOEEE 419 of 505 menu

Tapahtuma-elementti Event-objektissa JavaScriptissä

Event-objekti mahdollistaa myös elementin, jossa tapahtuma tapahtui, saamisen. Tämä elementi sisältyy ominaisuuteen target. Miksi tämä on tarpeen, jos tämä elementti sisältyy this:iin?

Asia on siinä, että itse asiassa this sisältää aina elementin, johon tapahtuma oli sidottu, kun taas ominaisuus target - elementin, jota todella klikattiin. Tämä todellinen elementti voi olla sama kuin this, tai se voi olla erilainen.

Katsotaanpa esimerkkiä. Oletetaan, että meillä on div, ja sen sisällä kappale:

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

Liitetään tapahtuma diviin, mutta klikataan kappaletta. On selvää, että napsautus kappaleeseen edustaa samanaikaisesti myös napsautusta diviin, koska kappale sisältyy diviimme.

Kuvatussa tapauksessa käy niin, että ominaisuus target sisältää lopullisen tagin, jossa tapahtuma tapahtui - eli kappaleen, eikä diviä. Varmistetaan tästä:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // tulostaa kappaleemme console.log(this); // tulostaa divimme });

Oletetaan, että sinulla on lista ul tageilla li:

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

:

Liitä ul-tagiin klikkauskäsittelijä. Tässä käsittelijässä tarkista ominaisuuden tagName avulla, mitä tagia klikattiin. Jos klikkaus tapahtui tagille li - lisää tämän tagin tekstin loppuun huutomerkki. Ja jos klikkaus tapahtui tagille ul - tulosta tieto tästä konsoliin.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää