⊗jsPmOEEE 419 of 505 menu

Իվենթի տարրը Event օբյեկտում JavaScript-ում

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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել