Perbarui November 2020: Saya pikir teknik terbaik untuk ini adalah Metode 4 di artikel ini. The
(atau apa pun pembungkus elemen) tetap semantik dan diakses, sementara menjadi “diklik” atas seluruh wilayah. Itu tidak merusak pemilihan teks dan menghormati elemen interaktif "bersarang" lainnya.
Ini adalah HTML yang benar-benar valid:
anything
Dan ingat Anda bisa membuat tautan display: block;
, sehingga seluruh area persegi panjang menjadi "dapat diklik". Tapi, jika ada banyak konten di sana, sangat buruk untuk aksesibilitas, membaca semua konten itu sebagai tautan interaktif.
Jika Anda benar-benar perlu menggunakan JavaScript, salah satu caranya adalah dengan menemukan tautan di dalam div dan buka tautannya href
saat div diklik. Ini dengan jQuery:
$(".myBox").click(function() ( window.location = $(this).find("a").attr("href"); return false; ));
Mencari link di dalam div dengan kelas "myBox". Mengalihkan ke nilai tautan itu ketika di mana saja di div diklik.
Referensi HTML:
blah blah blah. link
Atau, Anda dapat menetapkan data-*
atribut pada
dan melakukan seperti:
window.location = $(".myBox").data("location");