11 of 17 menu

JavaScript හි සබැඳියක් මත ක්ලික් කිරීමේ දෝෂය

අපි සබැඳියක් මත අනපේක්ෂිතව ක්ලික් කිරීම හා සම්බන්ධ දෝෂය විශ්ලේෂණය කරමු. උදාහරණයක් ලෙස, පහත සබැඳිය ලබා දී ඇතැයි සිතමු:

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

අපගේ සබැඳිය විචල්යයකට ගනිමු:

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

අපගේ සබැඳියට ක්ලික් කිරීමේ event handler එකක් bind කරමු:

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

මෙහි දී අපව රහසක් බලා සිටියි. කේතය නිවැරදිව ලියා ඇතත්, console හි output එක පෙනෙන්නේ නැත. හේතුව වන්නේ, ක්ලික් කිරීමේ දී සබැඳිය හරහා සංක්‍රමණය වීම සිදුවීමයි. href ගුණාංගයේ කිසිවක් නොසඳහන් නිසා, සබැඳිය වත්මන් පිටුවටම යොමු වේ.

මෙයින් අදහස් වන්නේ සබැඳිය මත ක්ලික් කිරීම පිටුව නැවත ලොඩ් කිරීමට හේතු වේ. එනම් අපගේ දත්ත console හි දර්ශනය වන අතර, පිටුව නැවත ලොඩ් වීමත් සමඟ, console හිස් වේ.

ප්‍රවේශමෙන් බැලූ විට, ක්ලික් කිරීමේ මොහොතේ දත්ත අවපලකයේ තත්පර කිහිපයකට පෙනී ඇති අතර, ඉන් පසුව අතුරුදහන් වන බව දැකගත හැකිය. මෙය මෙම දෝෂයේ ලක්ෂණයයි.

මෙම ගැටළුව විසඳා ගත හැකි ආකාරය අපි බලමු.

පළමු විසඳුම

සබැඳියේ href හි hash එකක් (#) යොදන්න. මෙයින් සබැඳිය වත්මන් පිටුවේ නිශ්චිත ස්ථානයකට යොමු වන අතර ක්ලික් කිරීමේ දී පිටුව නැවත ලොඩ් වන්නේ නැත. අපි එය කරමු:

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

දෙවන විසඳුම

වඩාත් උසස් ක්‍රමය වන්නේ preventDefault method එක භාවිතයෙන් පෙරනිමි ක්‍රියාව අවලංගු කිරීමයි:

link.addEventListener('click', function(event) { console.log(this.textContent); event.preventDefault(); });
සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න