⊗jsPmDmLNH 359 of 505 menu

Apdorojimo funkcijų pridėjimas cikle JavaScript

Dabar išmokime masiniu būdu pridėti įvykių apdorojimo funkcijas elementams. Tarkime, pavyzdžiui, turime pastraipas:

<p>text1</p> <p>text2</p> <p>text3</p>

Tarkime, kad taip pat turime funkciją:

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

Peržiūrėkime mūsų pastraipas cikle ir kiekvienai pasraipai pridėkime kaip paspaudimo apdorojimo funkciją funkciją func:

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

Eikime toliau ir padarykime taip, kad paspaudus bet kurią pastraipą būtų išvestas tos pastraipos tekstas. Tačiau yra problema: pastraipų yra daug, o apdorojimo funkcija yra viena. Kaip mums atskirti mūsų pastraipas apdorojimo funkcijos viduje?

Tai mums padės objektas this - kai funkcija iškviečiama įvykio metu, šis objektas rodys į tą elementą, kuriame šis įvykis atsitiko. Performuokime mūsų funkcijos func kodą remdamiesi tuo, kas buvo pasakyta:

function func() { console.log(this.textContent); // išvedame pastraipos tekstą }

Duota ši funkcija:

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

Taip pat duoti įvesties laukai. Padarykite taip, kad praradus fokusą bet kuriame iš mūsų įvesties laukų, būtų vykdyta aukščiau pateikta funkcija.

Duotos pastraipos su skaičiais. Padarykite taip, kad paspaudus bet kurią pastraipą, jos skaičius būtų pakeltas kvadratu.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti