12 of 17 menu

JavaScript-da havola o‘tish taqiqlash xatosi

Faraz qilaylik, bizda havola bor:

<a href="">havola</a>

Havolani o‘zgaruvchiga olaylik:

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

Havolamizga click hodisasi ushlab qoluvchisini bog‘laymiz. Bunda sahifa qayta yuklanishining oldini olish uchun havola orqali o‘tishni bekor qilamiz:

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

Biz o‘zimizni kutilmagan xatti-harakatlardan butunlay himoyalagandek tuyuladi. Aslida bu shunday emas. Gap shundaki, sintaktik xatolik yuz berganda JavaScript kodi bajarilmaydi, havolani bloklash ishlamaydi va uning orqali o‘tish amalga oshiriladi.

Bunday holda biz na kod bajarilish natijasini, na konsoldagi xatoni ko‘ramiz, chunki sahifa qayta yuklanadi. Keling, ataylab kodda xatolik yarataylik va amalda ishonch hosil qilaylik:

link.addEventListener('click', function(event) { thiss.textContent = 'matn'; // sintaktik xatolik event.preventDefault(); });

Bunday muammoning o‘ziga xos belgisi bor: agar havolani bosish paytida konsolga qarasak, biz konsolda miltillab ko‘ringan qizil xatoni ko‘ramiz, u deyarli darhol yo‘qoladi.

Albatta, xato matnini o‘qishga vaqtimiz yetmaydi, bu uni qidirishni sezilarli darajada qiyinlashtiradi. Ammo, bir ayyor usul bor. Havolaning href atributiga panjara (#) belgisini qo‘yish kerak. Bunda havola orqali o‘tish bo‘lmaydi va biz konsolga tashlangan xatoni ko‘ramiz:

<a href="#">havola</a>
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish