Saya ingin tautan yang tidak melakukan apa-apa. Saya tidak menginginkan ini:
<a href="#">
karena kemudian URL-nya menjadi something.com/whatever/#
.
Satu-satunya alasan saya menginginkan link adalah agar pengguna dapat melihat bahwa mereka dapat mengklik teks tersebut. JavaScript digunakan untuk melakukan beberapa tindakan, jadi saya tidak memerlukan tautan untuk pergi ke mana pun tetapi saya membutuhkannya agar terlihat seperti tautan!
Saya dapat menggunakan beberapa atribut data dan memberi tahu saya CSS untuk membuat elemen terlihat seperti tautan jika mereka memiliki atribut ini tetapi tampaknya agak berlebihan.
something.com/whatever/#
?pointer
dalam CSS AndaJawaban:
Hal berikut akan mencegah href Anda dijalankan
<a href="#" onclick="return false;">
Jika Anda menggunakan jQuery,
event.preventDefault()
bisa digunakansumber
Coba ini:
<a href="javascript:void(0);">link</a>
sumber
javascript:void
danjavascript:void(0)
?javascript:void()
akan menjadi SyntaxError, tetapijavascript:void
hanya mengembalikan undefined - sama sepertivoid(0)
. Adam, sejauh yang saya tahu,void
danvoid(0)
secara fungsional setara untuk penggunaan ini. --- edit: meskipun saya melihat komentar lain yang mengisyaratkan itu mungkin memuat ulang halaman ..Di HTML5, ini sangat sederhana. Abaikan saja
href
atributnya.<a>Do Nothing</a>
Dari MDN pada atribut a href tag :
Bagaimana dengan kursor tangan saat mengarahkan kursor?
Gaya default untuk browser tidak boleh mengubah kursor menjadi pointer, untuk
a
tag dengan nohref
. Anda dapat mengubah ini secara universal dengan CSS berikut.a { cursor: pointer; }
<a>Do Nothing</a>
Namun mungkin lebih baik untuk lebih selektif tentangnya, dan menerapkannya hanya ke elemen yang ingin Anda tambahkan pengendali event.
Bagaimana dengan membuatnya fokus pada tab?
Tambahkan saja
tabindex="0"
ke elemen.<a tabindex="0">Do Nothing</a>
Apakah masuk akal menggunakan
a
tag tanpa tautan?Biasanya tidak, mungkin lebih baik menggunakan
button
elemen sebagai gantinya, dan menatanya dengan CSS. Tetapi apa pun yang Anda gunakan, hindari menggunakan elemen arbitrer sepertidiv
jika memungkinkan, karena ini sama sekali bukan semantik.sumber
Jangan menjadikannya sebagai tautan (meskipun lebih disukai untuk melakukannya) dan beri gaya dengan CSS sehingga terlihat seperti tautan:
p.not-a-link { text-decoration: underline; cursor: pointer }
Atau lebih baik hanya membuat link dan membiarkan fungsi javascript yang digunakan
e.preventDefault()
untuk mencegah link tersebut.Tambahkan juga tautan ke
href
sehingga pengguna yang tidak mengaktifkan JS tetap dapat menggunakannya (sebagai cadangan).sumber
<a href="javascript:;">Link text</a>
- itulah yang biasanya saya gunakansumber
void(0)
, karena muncul di bilah status. Saya mengatakan itu karena saya pengguna menandainya sebagai bug / error (yang jelas bukan), jadi menurut saya, hal itu membingungkan mereka.Kita bisa mencapainya dengan menggunakan javascript void yang biasanya melibatkan evaluasi ekspresi dan mengembalikan undefined, termasuk menambahkan
javascript:void(0);
pada href.Operator void biasanya digunakan hanya untuk mendapatkan nilai primitif yang tidak ditentukan, biasanya menggunakan "void (0)" (yang setara dengan "void 0"). Dalam kasus ini, variabel global yang tidak ditentukan dapat digunakan sebagai gantinya (dengan asumsi itu belum ditetapkan ke nilai non-default).
a { text-decoration: initial; }
<a href="javascript:void(0);"> This link actually does nothing when clicked</a>
sumber
Jawaban @ Curt akan berfungsi, tetapi Anda dapat menggunakan gaya kursor dalam css agar terlihat seperti tautan tanpa perlu membuat tautan palsu. Gunakan tangan atau penunjuk tergantung pada kesesuaian browser.
Css penunjuk konforman lintas browser (dari panduan gaya kursor ):
element { cursor: pointer; cursor: hand; }
sumber
0.17%
. Jika orang-orang masih menggunakan versi itu, mereka tidak pantas menjelajah websalah satu cara yang belum disebutkan adalah dengan mengarahkan href ke lokasi file lokal yang kosong seperti itu
<a href='\\'>my dead link</a>
Mengapa? Jika Anda menggunakan kerangka kerja seperti react atau angular, kompiler akan mengeluarkan beberapa peringatan yang dapat membuat log atau konsol Anda kotor. Teknik ini juga akan mencegah robot atau laba-laba menghubungkan sesuatu secara tidak benar.
sumber
JANGAN GUNAKAN
<a>
... sebagai gantinya gunakan<span class='style-like-link'>
dan kemudian gunakan kelas untuk menatanya sesuka Anda.sumber