Apabila melaksanakan fungsi JavaScript pada klik hiperpautan, pembangun mungkin menghadapi dilema untuk memilih antara meletakkan skrip dalam href atau atribut onclick. Artikel ini meneroka perbezaan dan faedah setiap pendekatan.
Memasukkan panggilan fungsi dalam atribut href membolehkan pelaksanaan skrip apabila diklik, tetapi ia juga mencetuskan pengalihan. Ini boleh menjadi tidak diingini apabila matlamatnya adalah untuk melakukan tindakan tanpa menavigasi keluar dari halaman semasa.
<a href="javascript:my_function();window.print();">...</a>
Sebaliknya, menggunakan atribut onclick mengikat fungsi JavaScript kepada acara klik, mendayakan pelaksanaan skrip tanpa menyebabkan ubah hala.
<a href="#" onclick="my_function();">...</a>
Untuk menghalang penyemak imbas daripada mengikuti pautan href apabila fungsi onclick dilaksanakan, adalah dinasihatkan untuk menambah return false; selepas panggilan fungsi:
<a href="#" onclick="my_function();return false;">...</a>
Walau bagaimanapun, amalan ini bergantung pada pelayar yang menyokong JavaScript. Untuk penyemak imbas yang tidak mempunyai sokongan JavaScript, pautan akan lalai kepada URL yang ditetapkan.
Untuk meningkatkan kebolehaksesan, sediakan atribut tajuk yang menerangkan tindakan yang dicetuskan oleh klik:
<a href="#" title="Click to do something" onclick="my_function();return false;">...</a>
Untuk menghalang penyemak imbas daripada menavigasi ke URL yang tidak wujud, gunakan URL pemegang tempat:
<a href="PleaseEnableJavascript.html" onclick="my_function();return false;">...</a>
Untuk hasil yang optimum, gunakan rangka kerja JavaScript seperti jQuery untuk melampirkan pengendali onclick berdasarkan ID elemen:
$('#myLink').click(function(){ my_function(); return false; });
Dengan mempertimbangkan atribut dan amalan terbaik dengan teliti, pembangun boleh melaksanakan fungsi JavaScript pada klik hiperpautan sambil mengekalkan fungsi hiperpautan, memastikan pengalaman pengguna yang lancar.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Fungsi Hiperpautan Apabila Mencetuskan Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!