13 of 17 menu

Gabimi i this në përpunuesin e shigjetave JavaScript

Kohët e fundit është bërë e modës përdorimi i funksioneve të shigjetës kudo në vend të atyre të zakonshëm. Këto funksione, megjithatë, kanë një kurth - ato nuk e ruajnë this. Le të shohim me çfarë problemi mund të hasim për shkak të kësaj.

Le të themi se kemi një buton:

<button>text</button>

Le të marrim një referencë për këtë buton në një ndryshore:

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

Le t'i lidhim butonit një përpunues ngjarjeje, duke përdorur një funksion shigjete:

button.addEventListener('click', () => { console.log(this.textContent); });

Këtu na pret surpriza: this në funksionin shigjetë nuk do t'i referohet elementit në të cilin ndodhi ngjarja.

Le të shohim se çfarë mund të bëjmë për këtë.

Zgjidhja e parë

Mund të heqim dorë nga përdorimi i this dhe të përdorim ndryshoren në të cilën është lidhur ngjarja:

button.addEventListener('click', () => { console.log(button.textContent); });

Zgjidhja e dytë

Mund të merret elementi në të cilin është lidhur ngjarja përmes event.target:

button.addEventListener('click', (event) => { console.log(event.target.textContent); });

Zgjidhja e tretë

Mund të heqim dorë nga funksioni shigjetë dhe të përdorim një funksion të zakonshëm:

button.addEventListener('click', function() { console.log(this.textContent); });
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo