11 of 17 menu

JavaScript-də Linkə Klikləmə Xətası

Gəlin gözlənilməz link keçidi ilə bağlı xətanı təhlil edək. Nümunə olaraq aşağıdakı link verilsin:

<a href="">link</a>

Linki dəyişəndə əldə edək:

let link = document.querySelector('a');

Linkimizə klik hadisəsi əlavə edək:

link.addEventListener('click', function() { console.log(this.textContent); });

Və burada bizi sürpriz gözləyir. Kod düzgün yazılıb, lakin konsolda çıxış görünmür. Ona görə ki, klik zamanı linkə keçid baş verir. Çünki href atributunda heç nə göstərilməyib, link sadəcə cari səhifəyə keçid edir.

Bu o deməkdir ki, linkə klik etmək səhifənin yenidən yüklənməsinə səbəb olur. Yəni bizim məlumatlarımız konsola çıxarılır, sonra səhifə yenidən yüklənir, və konsol təmizlənir.

Diqqətlə baxsaq, konsolda məlumatların klik anında ani olaraq göründüyünü və sonra yox olduğunu görə bilərik. Bu da məhz bu xətanın xarakterik əlamətidir.

Gəlin bu problemi necə həll edə biləcəyimizə baxaq.

Birinci Həll

Linkin href hissəsinə reşetka (#) qoymaq lazımdır. Bu, linkin cari səhifənin müəyyən yerinə işarə etməsinə səbəb olacaq və linkə klik edəndə səhifə yenidən yüklənməyəcək. Gəlin bunu edək:

<a href="#">link</a>

İkinci Həll

Daha inkişaf etmiş bir üsul, preventDefault metodu ilə standart hərəkətin ləğv edilməsidir:

link.addEventListener('click', function(event) { console.log(this.textContent); event.preventDefault(); });
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