Nima uchun "return false" ishlamaydi?
Nima uchun quyidagi kodda return false
umuman ishlamaydi?
<script> function handler() { alert("..."); return false; } </script> <a href="https://w3.org" onclick="handler()">brauzer w3.org saytiga o'tadi</a>
Brauzer bosish orqali URL manzilini kuzatib boradi, lekin biz buni xohlamaymiz.
Qanday tuzatish kerak?
onclick atributi va ishlov beruvchilar
Brauzer onclick
kabi on*
atributini o’qiganda, u uning mazmunidan ishlov beruvchi yaratadi.
onclick="handler()"
uchun funksiya quyidagicha bo’ladi:
function(event) { handler() // onclick ning mazmuni }
Endi ko’rishimiz mumkinki, handler()
tomonidan qaytarilgan qiymat ishlatilmaydi va natijaga ta’sir qilmaydi.
Tuzatish oddiy:
<script> function handler() { alert("..."); return false; } </script> <a href="https://w3.org" onclick="return handler()">w3.org</a>
Shuningdek, biz event.preventDefault()
dan foydalanishimiz mumkin:
<script> function handler(event) { alert("..."); event.preventDefault(); } </script> <a href="https://w3.org" onclick="handler(event)">w3.org</a>