⊗jsPmOEEE 419 of 505 menu

JavaScript-те Object ішіндегі оқиға элементі

Event объектісі сондай-ақ оқиға болған элементті алуға мүмкіндік береді. Бұл элемент target қасиетінде болады. Бұл не үшін қажет, егер бұл элемент this-те болатын болса?

Мәселе мынада, this әрқашан оқиға байланған элементті қамтиды, ал target қасиеті - шынымен басылған элемент. Бұл нақты элемент this-мен сәйкес келуі мүмкін, немесе сәйкес келмеуі мүмкін.

Мысалға қарайық. Бізде div және оның ішінде абзац бар делік:

<div id="elem"> <p>мәтін</p> </div>

Оқиғаны div-ге байлайық, бірақ абзацқа басайық. Абзацқа басу сонымен бірге div-ге де басу болатыны анық, себебі абзац біздің div-іміздің ішінде.

Сипатталған жағдайда target қасиеті оқиға болған соңғы тегті қамтиды - яғни абзацты, ал div емес. Мұны тексерейік:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // біздің абзацымызды шығарады console.log(this); // біздің div-імізді шығарады });

Сізде ul тізімі және li тегтері бар болсын:

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

:

ul тегіне басу оқиғасын байланыстырыңыз. Бұл оқиға өңдегішінде tagName қасиеті арқылы қай тегге басылғанын тексеріңіз. Егер басу li тегіне болса - осы тегтің мәтінінің соңына леп сәйлеу белгісін қосыңыз. Ал егер басу ul тегіне болса - бұл туралы ақпаратты консольге шығарыңыз.

Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართული한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау