13 of 17 menu

JavaScript-də ox funksiyası işləyicisində this xətası

Son zamanlar hər yerdə adi funksiyalar əvəzinə ox funksiyalarından istifadə etmək dəbdə oldu. Lakin bu funksiyaların bir çətinliyi var - onlar this saxlamır. Gəlin buna görə hansı problemlə üzləşə biləcəyimizə nəzər salaq.

Tutaq ki, bizim bir düyməmiz var:

<button>mətn</button>

Gəlin bu düyməyə istinadı dəyişəndə əldə edək:

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

Gəlin düyməyə ox funksiyasından istifadə edərək hadisə işləyicisi əlavə edək:

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

Bizi elə burada sürpriz gözləyir: this ox funksiyasında hadisənin baş verdiyi elementə aid olmayacaq.

Gəlin buna nə edə biləcəyimizə baxaq.

Birinci həll

this istifadə etməkdən imtina edə bilərik və hadisənin bağlandığı dəyişəndən istifadə edə bilərik:

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

Ikinci həll

Hadisənin bağlandığı elementi event.target vasitəsilə əldə edə bilərik:

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

Üçüncü həll

Ox funksiyasından imtina edib adi funksiyadan istifadə edə bilərik:

button.addEventListener('click', function() { console.log(this.textContent); });
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et