Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menghalang Tatal Halaman pada Klik Pautan dengan JavaScript?

Bagaimana untuk Menghalang Tatal Halaman pada Klik Pautan dengan JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 22:03:29417semak imbas

How to Prevent Page Scroll on Link Click with JavaScript?

Mencegah Tatal Halaman pada Klik Pautan dengan JavaScript

Apabila menggunakan JavaScript atau jQuery untuk meningkatkan tingkah laku pautan, adalah perkara biasa untuk menghadapi isu apabila mengklik pautan mencetuskan halaman untuk menatal ke atas. Jika anda ingin menghalang tingkah laku ini, anda mempunyai beberapa pilihan.

Pertama sekali, pertimbangkan kaedah event.preventDefault(). Dengan menggunakan kaedah ini pada objek acara yang diserahkan kepada pengendali anda, anda melumpuhkan tindakan lalai dengan berkesan (seperti menavigasi ke sasaran pautan). Ini berfungsi sama ada anda menggunakan $e.preventDefault() jQuery atau Event.preventDefault() asli dalam DOM.

Sebagai contoh, kod jQuery berikut menghalang penatalan:

$('#ma_link').click(function($e) {
    $e.preventDefault();
    doSomething();
});

Satu lagi pilihan adalah untuk memanfaatkan pulangan jQuery palsu; tingkah laku. Dengan mengembalikan palsu daripada pengendali acara, kedua-dua event.stopPropagation() dan event.preventDefault() dipanggil secara automatik. Oleh itu, anda boleh menggunakan pendekatan berikut:

$('#ma_link').click(function(e) {
     doSomething();
     return false;
});

Selain itu, jika anda lebih suka peristiwa DOM mentah, mengembalikan palsu pada penyemak imbas moden akan menghalang gelagat pautan lalai. Walau bagaimanapun, memanggil .preventDefault() secara eksplisit disyorkan untuk keserasian maksimum dengan penyemak imbas lama, kerana spesifikasi HTML5 pada mulanya tidak menyertakan gelagat ini.

Atas ialah kandungan terperinci Bagaimana untuk Menghalang Tatal Halaman pada Klik Pautan dengan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn