Kapan dan mengapa return false
menggunakan JavaScript?
javascript
jquery
zsharp
sumber
sumber
event.preventDefault()
untuk fungsi ini. Saya percaya mengembalikan false sudah tidak digunakan lagi dan tidak selalu berhasil.return false
is dalam metode, apakah ini mengubah sesuatu?Saya menduga bahwa yang Anda maksud adalah fakta bahwa Anda sering kali harus memberikan 'return false;' pernyataan dalam penanganan acara Anda, yaitu
<a href="#" onclick="doSomeFunction(); return false;">...
The 'return false;' dalam hal ini menghentikan browser untuk melompat ke lokasi saat ini, seperti yang ditunjukkan oleh href = "#" - sebagai gantinya, hanya doSomeFunction () yang dijalankan. Ini berguna ketika Anda ingin menambahkan acara ke tag jangkar, tetapi tidak ingin browser melompat-lompat ke setiap jangkar pada setiap klik
sumber
Ini digunakan untuk menghentikan penyebaran acara . Anda lihat ketika Anda memiliki dua elemen dengan handler kejadian klik (misalnya)
Jika Anda mengklik elemen dalam (elemen2), ini akan memicu peristiwa klik di kedua elemen: 1 dan 2. Ini disebut "Acara menggelegak". Jika Anda ingin menangani kejadian di element2 saja, maka pengendali kejadian harus mengembalikan false untuk menghentikan penyebaran kejadian.
Contoh lainnya adalah link onclick handler. Jika Anda ingin menghentikan formulir tautan bekerja. Anda dapat menambahkan penangan onclick dan mengembalikan false. Untuk menghentikan acara menyebar ke penangan default.
sumber
false
dari sebuah event handler akan mencegah aksi default yang terkait dengan sebuah event; Anda juga dapat melakukan ini melalui panggilanevent.preventDefault()
atau pengaturanevent.returnValue = false
(IE); untuk menghentikan acara menggelegak, Anda harus meneleponevent.stopPropagation()
atau mengaturevent.cancelBubble = true
(IE)Er ... bagaimana dengan fungsi boolean untuk menunjukkan 'tidak benar'?
sumber
Saya juga membuka halaman ini setelah mencari "js, kapan harus menggunakan 'return false;' Di antara hasil penelusuran lainnya adalah halaman yang menurut saya jauh lebih berguna dan mudah, di situs Trik CSS Chris Coyier: Perbedaan antara 'return false;' dan 'e.preventDefault ();'
Inti dari artikelnya adalah:
meskipun saya tetap akan merekomendasikan membaca seluruh artikel.
Pembaruan: Setelah memperdebatkan manfaat menggunakan return false; sebagai pengganti e.preventDefault (); & e.stopPropagation (); salah satu rekan kerja saya menunjukkan bahwa return false juga menghentikan eksekusi callback, seperti yang diuraikan dalam artikel ini: jQuery Events: Stop (Mis) Using Return False .
sumber
function() { return false; }
IS SAMA DENGANfunction(e) { e.preventDefault(); e.stopPropagation(); }
, tetapi di js murni, itu tidak sama,function() { return false; }
IS SAMA denganfunction(e) { e.preventDefault(); }
sebenarnya. Itu tidak menghentikan propagasi.Saat menggunakan
each
fungsi jQuery , mengembalikan true atau false memiliki arti. Lihat doksumber
Saya pikir pertanyaan yang lebih baik adalah, mengapa dalam kasus di mana Anda mengevaluasi sekumpulan nilai kembalian boolean, apakah Anda TIDAK akan menggunakan true / false ? Maksud saya, Anda mungkin dapat memiliki true / null, true / -1, misc lainnya. Javascript "falsy" untuk diganti, tapi mengapa Anda melakukan itu?
sumber
Saat Anda ingin memicu kode javascript dari tag jangkar, pengendali onclick harus digunakan daripada javascript: pseudo-protocol. Kode javascript yang berjalan dalam onclick handler harus mengembalikan true atau false (atau ekspresi daripada mengevaluasi true atau false) kembali ke tag itu sendiri - jika mengembalikan true, maka HREF dari jangkar akan diikuti seperti tautan biasa. Jika hasilnya salah, maka HREF akan diabaikan. Inilah sebabnya mengapa "return false;" sering disertakan di akhir kode dalam penangan onclick.
sumber
Anda menggunakan return false untuk mencegah sesuatu terjadi. Jadi, jika Anda memiliki skrip yang berjalan saat kirim, maka return false akan mencegah pengiriman berfungsi.
sumber
Ketika pernyataan kembali dipanggil dalam suatu fungsi, eksekusi fungsi ini dihentikan. Jika ditentukan, nilai yang diberikan dikembalikan ke pemanggil fungsi. Jika ekspresi dihilangkan, undefined dikembalikan.
Untuk lebih lanjut, lihat halaman dokumen MDN untuk
return
.sumber
return false hanya menggunakan jika Anda memiliki beberapa fungsi kerja (dengan beberapa pengujian) atau Anda ingin menghentikan beberapa fungsi, contoh gunakan return false pada akhirnya "onsubmit"
sumber
Juga, tautan singkat dan menarik ini untuk membaca https://www.w3schools.com/jsref/event_preventdefault.asp
Definisi dan Penggunaan
Metode preventDefault () membatalkan peristiwa jika dapat dibatalkan, yang berarti bahwa tindakan default yang dimiliki peristiwa tersebut tidak akan terjadi.
Misalnya, ini dapat berguna jika:
Clicking on a "Submit" button, prevent it from submitting a form Clicking on a link, prevent the link from following the URL
Catatan: Tidak semua acara bisa dibatalkan. Gunakan properti yang dapat dibatalkan untuk mencari tahu apakah suatu acara dapat dibatalkan.
Catatan: Metode preventDefault () tidak mencegah penyebaran lebih lanjut dari suatu peristiwa melalui DOM. Gunakan metode stopPropagation () untuk menangani ini.
sumber