Rumah  >  Artikel  >  hujung hadapan web  >  Hiperpautan JavaScript: href vs onclick - Mana yang Terbaik untuk Panggilan Fungsi?

Hiperpautan JavaScript: href vs onclick - Mana yang Terbaik untuk Panggilan Fungsi?

Barbara Streisand
Barbara Streisandasal
2024-11-17 21:01:02415semak imbas

JavaScript Hyperlinks: href vs onclick - Which is Best for Function Calls?

JavaScript - Fungsi Panggilan Balik untuk Hiperpautan: href vs onclick

Apabila cuba mencetuskan fungsi JavaScript pada klik hiperpautan tanpa menyebabkan pengalihan halaman, timbul persoalan mengenai penggunaan yang sesuai atribut href dan onclick.

href Attribute

Meletakkan panggilan JavaScript dalam atribut href boleh menyebabkan penyemak imbas melaksanakan kedua-dua kod JavaScript dan pengalihan semula pautan. Tingkah laku ini tidak digalakkan kerana ia boleh membawa kepada hasil yang tidak dijangka.

Penggunaan yang salah:

<a href="javascript:my_function();window.print();">...</a>

onclick Attribute

Mengikat panggilan JavaScript ke acara onclick memberikan lebih kawalan ke atas tingkah laku. Ia membenarkan pelaksanaan kod JavaScript sambil menghalang ubah hala.

Penggunaan yang disyorkan:

<a href="#" onclick="MyFunction(); return false;">...</a>

"return false;" pernyataan memastikan penyemak imbas tidak mengikut pautan.

Amalan Terbaik

Pendekatan terbaik melibatkan penggunaan rangka kerja seperti jQuery untuk melampirkan pengendali acara onclick dengan ID elemen. Ini memberikan fleksibiliti yang lebih besar dan mengelakkan potensi isu dengan penggunaan href.

Penyelesaian optimum:

$('#myLink').click(function() { MyFunction(); return false; });

Atas ialah kandungan terperinci Hiperpautan JavaScript: href vs onclick - Mana yang Terbaik untuk Panggilan Fungsi?. 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