11 of 17 menu

JavaScriptda havola bo'yicha o'tish xatosi

Keling, kutilmagan havola bo'yicha o'tish bilan bog'liq xatoni ko'rib chiqaylik. Misol uchun quyidagi havola berilgan bo'lsin:

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

Havolamizni o'zgaruvchiga olaylik:

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

Havolamizga click hodisasi uchun ishlovchini bog'laymiz:

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

Va mana bu erda bizni kutilmagan holat kutmoqda. Kod to'g'ri yozilgan, ammo, konsolda chiqish paydo bo'lmaydi. Muammo shundaki, click paytida havola bo'yicha o'tish amalga oshadi. href atributida hech narsa ko'rsatilmaganligi sababli, havola shunchaki joriy sahifaga yo'naltiradi.

Bu shuni anglatadiki, havolani bosish sahifaning qayta yuklanishiga olib keladi. Ya'ni bizning ma'lumotlarimiz konsolda chiqadi, keyin sahifa qayta yuklanadi, va konsol bo'sh bo'lib qoladi.

Agar diqqat bilan kuzatilsa, click paytida ma'lumotlar konsolda bir lahzada paydo bo'lishi, keyin yo'qolishi ko'rinadi. Bu aynan ushbu xatoning xarakterli belgisidir.

Keling, ushbu muammoni qanday hal qilish mumkinligini ko'rib chiqaylik.

Birinchi yechim

href havolasiga panjara belgisini (#) qo'yish kerak. Bu shunday natijaga olib keladiki, havola joriy sahifaning ma'lum joyiga ishora qiladi va click paytida sahifa qayta yuklanmaydi. Buni amalga oshiramiz:

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

Ikkinchi yechim

Yanada rivojlangan usul - preventDefault metodi yordamida standart harakatni bekor qilishdir:

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