Jawaban:
<a onclick="jsfunction()" href="#">
atau
<a onclick="jsfunction()" href="javascript:void(0);">
Edit:
Respons di atas benar-benar bukan solusi yang baik, setelah belajar banyak tentang JS sejak pertama kali saya posting. Lihat jawaban EndangeredMassa di bawah ini untuk pendekatan yang lebih baik untuk menyelesaikan masalah ini.
JavaScript tidak mengganggu, tidak ada ketergantungan perpustakaan:
<html>
<head>
<script type="text/javascript">
// Wait for the page to load first
window.onload = function() {
//Get a reference to the link on the page
// with an id of "mylink"
var a = document.getElementById("mylink");
//Set code to run when the link is clicked
// by assigning a function to "onclick"
a.onclick = function() {
// Your code here...
//If you don't want the link to actually
// redirect the browser to another page,
// "google.com" in our example here, then
// return false at the end of this block.
// Note that this also prevents event bubbling,
// which is probably what we want here, but won't
// always be the case.
return false;
}
}
</script>
</head>
<body>
<a id="mylink" href="http://www.google.com">linky</a>
</body>
</html>
hrefjika saya tidak ingin mengarahkan ulang pengguna dan hanya ingin menjalankan beberapa kode? Edit: Saya melihat bahwa hal itu dapat kosong kiri: href="".
onclickacara melalui window.onload, daripada meletakkan onclicklangsung di <a>tag?
<a href="javascript:alert('Hello!');">Clicky</a>
EDIT, bertahun-tahun kemudian: TIDAK! Jangan pernah melakukan ini! Saya masih muda dan bodoh!
Edit, lagi: Beberapa orang bertanya mengapa Anda tidak harus melakukan ini. Ada beberapa alasan:
Presentasi: HTML harus fokus pada presentasi. Menempatkan JS di HREF berarti HTML Anda sekarang, agak, berurusan dengan logika bisnis.
Keamanan: Javascript di HTML Anda seperti itu melanggar Kebijakan Keamanan Konten (CSP) . Kebijakan Keamanan Konten (CSP) adalah lapisan keamanan tambahan yang membantu mendeteksi dan mengurangi jenis serangan tertentu, termasuk Cross-Site Scripting (XSS) dan serangan injeksi data. Serangan-serangan ini digunakan untuk apa saja mulai dari pencurian data hingga perusakan situs atau distribusi malware. Baca lebih lanjut di sini .
Aksesibilitas: Tag jangkar untuk menghubungkan ke dokumen / halaman / sumber daya lain. Jika tautan Anda tidak ke mana-mana, itu harus berupa tombol . Ini membuatnya jauh lebih mudah bagi pembaca layar, terminal braille, dll, untuk menentukan apa yang terjadi, dan memberikan informasi yang bermanfaat bagi pengguna yang memiliki keterbatasan penglihatan.
href='#'dan alert()di dalam onclick?
Dan, mengapa tidak mengganggu dengan jQuery:
$(function() {
$("#unobtrusive").click(function(e) {
e.preventDefault(); // if desired...
// other methods to call...
});
});
HTML
<a id="unobtrusive" href="http://jquery.com">jquery</a>
Javascript Unobtrusive memiliki banyak keuntungan, berikut adalah langkah-langkah yang diambil dan mengapa itu baik untuk digunakan.
tautan dimuat seperti biasa:
<a id="DaLink" href="http://host/toAnewPage.html"> klik di sini </a>
ini penting karena ini akan berfungsi untuk browser dengan javascript tidak diaktifkan, atau jika ada kesalahan dalam kode javascript yang tidak berfungsi.
javascript berjalan pada pemuatan halaman:
window.onload = function(){
document.getElementById("DaLink").onclick = function(){
if(funcitonToCall()){
// most important step in this whole process
return false;
}
}
}jika javascript berjalan dengan sukses, mungkin memuat konten di halaman saat ini dengan javascript, false return membatalkan tautan yang diaktifkan. dengan kata lain menempatkan return false memiliki efek menonaktifkan tautan jika javascript berhasil dijalankan. Meskipun memungkinkan untuk berjalan jika javascript tidak, buat cadangan yang bagus sehingga konten Anda ditampilkan dengan cara apa pun, untuk mesin pencari dan jika kode Anda rusak, atau dilihat pada sistem non-javascript.
buku terbaik tentang masalah ini adalah "Dom Scription" oleh Jeremy Keith
Atau, jika Anda menggunakan PrototypeJS
<script type="text/javascript>
Event.observe( $('thelink'), 'click', function(event) {
//do stuff
Event.stop(event);
}
</script>
<a href="#" id="thelink">This is the link</a>
berdasarkan penggunaan jawaban @mister_lucky dengan jquery:
$('#unobtrusive').on('click',function (e) {
e.preventDefault(); //optional
//some code
});
Kode Html:
<a id="unobtrusive" href="http://jquery.com">jquery</a>
cukup gunakan javascript: ---- contoh
javascript:var JFL_81371678974472 = new JotformFeedback({ formId: '81371678974472', base: 'https://form.jotform.me/', windowTitle: 'Photobook Series', background: '#e44c2a', fontColor: '#FFFFFF', type: 'false', height: 700, width: 500, openOnLoad: true })