Saya telah melihat href berikut digunakan di halaman web dari waktu ke waktu. Namun, saya tidak mengerti apa yang coba dilakukan atau tekniknya. Bisakah seseorang menjelaskannya?
<a href="javascript:;"></a>
javascript
John Livermore
sumber
sumber
javascript:
skema di mana seharusnya tidak digunakan (onclick="javascript:…"
)Jawaban:
Sebuah
<a>
elemen HTML tidak valid kecuali memiliki baik sebagaihref
atauname
atribut.Jika Anda ingin membuatnya dengan benar sebagai tautan (yaitu digarisbawahi, penunjuk tangan, dll), maka itu hanya akan dilakukan jika memiliki
href
atribut.Karenanya kode seperti ini terkadang digunakan sebagai cara membuat tautan, tetapi tanpa harus memberikan URL aktual di
href
atribut. Pengembang jelas menginginkan tautan itu sendiri untuk tidak melakukan apa pun, dan ini adalah cara termudah yang dia tahu.Dia mungkin memiliki beberapa kode peristiwa javascript di tempat lain yang dipicu ketika tautan diklik, dan itulah yang dia inginkan sebenarnya terjadi, tetapi dia ingin itu terlihat seperti
<a>
tautan tag normal .Beberapa pengembang menggunakan
href='#'
untuk tujuan yang sama, tetapi ini menyebabkan browser untuk melompat ke bagian atas halaman, yang mungkin tidak diinginkan. Dan dia tidak bisa begitu saja meninggalkan href kosong, karenahref=''
merupakan tautan kembali ke halaman saat ini (yaitu menyebabkan refresh halaman).Ada beberapa cara untuk mengatasi hal-hal ini. Menggunakan sedikit kode Javascript kosong di
href
salah satunya, dan meskipun itu bukan solusi terbaik, itu berhasil.sumber
return false;
atauevent.preventDefault()
makahref
tindakan akan pernah disebut, sehingga Anda dapat menempatkan sesuatu yang lebih masuk akal di sana.<a>
tanpahref
atauname
tidak valid; ini dapat dengan mudah diperiksa menggunakan validator.#
fragmen , itu tidak pernah dikirim ke server web (atau, oleh karena itu, ke firewall); itu hanya digunakan secara internal oleh browser. Dalam hal ini, mengklik tautan yang ditandai dengan<a href="#">
...</a>
tidak akan menyebabkan browser Anda mengirim permintaan HTTP apa pun ke mana pun; yang perlu dilakukan hanyalah menggulir ke bagian atas halaman.pada dasarnya alih-alih menggunakan tautan untuk memindahkan halaman (atau jangkar), menggunakan metode ini meluncurkan fungsi javascript
mengklik tautan itu akan menyalakan peringatan.
sumber
Ada beberapa mekanisme untuk menghindari tautan untuk mencapai tujuannya. Yang dari pertanyaan itu tidak banyak intuisi.
Sebuah pilihan yang bersih adalah untuk digunakan
href="#no"
di mana#no
adalah jangkar non-didefinisikan dalam dokumen.Anda dapat menggunakan nama yang lebih semantik seperti #disable, atau #action untuk meningkatkan keterbacaan.
Manfaat dari pendekatan:
Kekurangan:
Karena
<a>
elemen tidak bertindak sebagai tautan, opsi terbaik dalam kasus ini adalah tidak menggunakan<a>
elemen tetapi a<div>
dan memberikan gaya seperti tautan yang diinginkan.sumber
hanya singkatan untuk:
sumber
Ini adalah cara membuat tautan yang tidak melakukan apa-apa saat diklik (kecuali peristiwa Javascript terikat padanya).
Ini adalah cara menjalankan Javascript daripada mengikuti tautan:
Ketika sebenarnya tidak ada javascript untuk dijalankan (seperti contoh Anda) itu tidak melakukan apa-apa.
sumber
Lihat ini:
sumber
javascript:
memberitahu browser akan menulis kode javascriptsumber
Utas lama tetapi saya pikir saya hanya akan menambahkan bahwa alasan pengembang menggunakan konstruk ini bukan untuk membuat tautan mati, tetapi karena URL javascript karena alasan tertentu tidak meneruskan referensi ke elemen html aktif dengan benar.
misalnya
handler_function(this.id)
berfungsi sebagaionClick
tetapi tidak sebagai URL javascript.Jadi itu adalah pilihan antara menulis kode sesuai standar pedantik yang melibatkan Anda karena harus menyesuaikan panggilan secara manual untuk setiap hyperlink, atau sedikit kode non-standar yang dapat ditulis satu kali dan digunakan di mana-mana.
sumber
Jadi itu digunakan untuk menulis kode js di dalam
href
daripada acara pendengar sukaonclick
dan menghindari#
tautanhref
untuk membuata
tag valid untuk html.Aku punya penelitian tentang bagaimana menggunakan
javascript:
dalamhref
atribut.Melalui kode ini, Anda bahkan dapat menulis kode js di sana alih-alih hanya memanggil fungsi.
Diuji dalam Versi chrome 68.0.3440.106 (Bangun Resmi) (64-bit)
Diuji dalam Firefox Quantom 61.0.1 (64-bit)
sumber
Cara terbaik untuk selalu membuat tautan dengan benar adalah dengan css sebagai berikut:
Orang harus menghindari untuk mengikuti hal-hal yang tidak perlu seperti yang disebutkan di utas.
sumber