⊗jsPmOEBTE 424 of 505 menu

Добивање на целниот елемент при појавување на настани

Нека имаме два елементи: div и параграф p, кој лежи внатре во овој div:

<div> <p></p> </div>

Да ја добиеме референцата за нашиот div во променлива:

let div = document.querySelector('div');

Да додадеме некои стилови на нашите тагови:

div { padding: 20px; border: 1px solid red; } p { width: 200px; height: 200px; border: 1px solid green; }

Нека сега на div е додаден обработувач за клик:

div.addEventListener('click', function() { console.log('click'); });

Поради тоа што нашиот div има padding, тогаш, кога кликнуваме на div, може да погодиме на параграфот, или може да погодиме на местото каде што нема параграф, односно директно на div.

Притоа во обработувачот за клик this секогаш ќе укажува на оној елемент на кој е додаден обработувачот. Во нашиот случај тоа е нашиот div:

div.addEventListener('click', function() { console.log(this); // div });

Сепак, можеме да го добиеме токму оној таг, во кој се случил настанот. За ова можеме да провериме што се наоѓа во event.target:

div.addEventListener('click', function(event) { console.log(event.target); // или div, или параграф });

Овие две опции може да се разликуваат со помош на услови:

let div = document.querySelector('div'); div.addEventListener('click', function(event) { if (event.target.tagName === 'DIV') { console.log('клик директно на div'); } if (event.target.tagName === 'P') { console.log('клик директно на параграф'); } });

Наместо tagName може да се користи matches:

let div = document.querySelector('div'); div.addEventListener('click', function(event) { if (event.target.matches('div')) { console.log('клик директно на div'); } if (event.target.matches('p')) { console.log('клик директно на параграф'); } });

Дадени се следните елементи:

<div> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> </div> div, ul, li { padding: 20px; } div { border: 1px solid red; } ul { border: 1px solid orange; } li { border: 1px solid green; }

Додадете обработувач за клик на div. Во овој обработувач определете, во кој од таговите се активирал настанот.

Модифицирајте ја претходната задача. Направете така што при клик на li, на нејзиниот крај да се додаде извичник, а при клик на ul во конзола да се испечати информација за ова.

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