⊗jsPmOEEE 419 of 505 menu

Elemen Peristiwa dalam Objek Event di JavaScript

Objek Event juga memungkinkan untuk mendapatkan elemen tempat peristiwa terjadi. Elemen ini terkandung dalam properti target. Mengapa ini diperlukan, jika elemen ini sudah terkandung dalam this?

Masalahnya adalah, this selalu berisi elemen, yang mana peristiwa terikat padanya, sedangkan properti target - adalah elemen yang benar-benar diklik. Elemen sebenarnya ini bisa sama dengan this, atau bisa juga tidak sama.

Mari kita lihat contohnya. Misalkan kita memiliki div, dan di dalamnya ada paragraf:

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

Mari kita ikat peristiwa ke div, tetapi klik pada paragraf. Jelas bahwa klik pada paragraf merupakan klik pada div juga, karena paragraf berada di dalam div kita.

Dalam kasus yang dijelaskan, properti target akan berisi tag akhir, di mana peristiwa terjadi - yaitu paragraf, bukan div. Mari kita buktikan:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // akan menampilkan paragraf kita console.log(this); // akan menampilkan div kita });

Misalkan Anda memiliki daftar ul dengan tag li:

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

:

Ikat penangan klik ke tag ul. Dalam penangan ini, periksa menggunakan properti tagName, pada tag mana klik terjadi. Jika klik terjadi pada tag li - tambahkan tanda seru ke akhir teks dari tag tersebut. Dan jika klik terjadi pada tag ul - tampilkan informasi tentang hal ini di konsol.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak