⊗jsPmOEEE 419 of 505 menu

Notikuma elements Event objektā JavaScript

Objekts Event arī ļauj iegūt elementu, kurā notikums notika. Šis elements atrodas īpašībā target. Kāpēc tas ir vajadzīgs, ja šis elements atrodas this?

Lieta ir tāda, ka patiesībā this vienmēr satur elementu, kuram bija piesaistīts notikums, bet īpašība target - elementu, uz kura faktiski tika klikšķināts. Šis reālais elements var sakrist ar this, bet var arī nesakrist.

Apskatīsim piemērā. Pieņemsim, ka mums ir div, un tajā atrodas rindkopa:

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

Piesaistīsim notikumu div, bet klikšķināsim uz rindkopas. Skaidrs, ka klikšķis uz rindkopas ir vienlaikus arī klikšķis uz div, jo rindkopa atrodas mūsu div.

Aprakstītajā gadījumā izrādīsies, ka īpašība target saturēs galīgo tagu, kurā notika notikums - tas ir, rindkopu, nevis div. Pārliecināsimies par to:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // izvadīs mūsu rindkopu console.log(this); // izvadīs mūsu div });

Pieņemsim, ka jums ir saraksts ul ar tagiem li:

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

:

Piesaistiet tagam ul klikšķa apstrādātāju. Šajā apstrādātājā pārbaudiet, izmantojot īpašību tagName, uz kura taga tika klikšķināts. Ja klikšķis notika tagā li - pievienojiet šī taga teksta beigās izsaukuma zīmi. Bet ja klikšķis notika tagā ul - izvadiet informāciju par to konsolē.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt