⊗jsPmDmLNH 359 of 505 menu

Notikumu apstrādātāju pievienošana cilpā JavaScript

Tagad iemācīsimies masveidā pievienot notikumu apstrādātājus elementiem. Pieņemsim, piemēram, ka mums ir rindkopas:

<p>teksts1</p> <p>teksts2</p> <p>teksts3</p>

Pieņemsim, ka mums ir arī funkcija:

function func() { console.log('!'); }

Pārlūkosim mūsu rindkopas cilpā un katrai rindkopai pievienosim kā klikšķa notikuma apstrādātāju funkciju func:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); }

Iesim tālāk un padarīsim tā, lai uzklikšķinot uz jebkuras rindkopas tiktu izvadīts tās rindkopas teksts. Tomēr ir problēma: rindkopas ir daudz, bet notikumu apstrādātāja funkcija ir viena. Kā mums atšķirt mūsu rindkopas funkcijas-apstrādātāja iekšienē?

To mums palīdzēs objekts this - izsaucot funkciju notikuma brīdī, šis objekts būs vērsts uz to elementu, kurā šis notikums notika. Pārveidosim mūsu funkcijas func kodu saskaņā ar teikto:

function func() { console.log(this.textContent); // izvadam rindkopas tekstu }

Dota šāda funkcija:

function func() { this.value = Number(this.value) + 1; }

Doti arī ievades lauki. Padariet tā, lai zaudējot fokusu jebkurā no mūsu ievades laukiem, tiktu izpildīta iepriekš minētā funkcija.

Dotas rindkopas ar skaitļiem. Padariet tā, lai uzklikšķinot uz jebkuras rindkopas, skaitlis tajā tiktu pacelts kvadrātā.

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