News from the Field
A channel with tips on modern AI development. Join!
⊗jsPmOEEE 419 of 505 menu
◀ ▶

Sündmuse element Event objekti JavaScriptis

Objekt Event võimaldab ka saada elementi, kus sündmus toimus. See element sisaldub omaduses target. Miks seda vaja on, kui see element sisaldub this-is?

Asi on selles, et tegelikult this sisaldab alati elementi, millele sündmus oli seotud, kuid omadus target - elementi, mida tegelikult klõpsati. See tegelik element võib kattuda this-ga, aga võib ka mitte kattuda.

Vaatame näidet. Olgu meil div ja selle sees lõik:

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

Seome sündmuse div-ile, kuid klõpsame lõigul. Ilmselgelt esindab lõigu klõpsamine samal ajal ka div-i klõpsamist, kuna lõik sisaldub meie div-is.

Kirjeldatud juhul selgub, et omadus target sisaldab lõplikku silti, milles sündmus toimus - see tähendab lõiku, mitte div-i. Veendume selles:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // väljastab meie lõigu console.log(this); // väljastab meie div-i });

Olgu teil loend ul siltidega li:

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

:

Seoge silti ul klõpsu töötleja. Selles töötlejas kontrollige omaduse tagName abil, mille sildi peale klõpsati. Kui klõps toimus sildi li peale - lisage selle sildi teksti lõppu hüüumärk. Kui klõps toimus sildi ul peale - väljastage teave sellest konsooli.

← →
↑
Eesti▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu