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>