Päivitä marraskuu 2020: Mielestäni paras mahdollinen tekniikka tähän on tämän artikkelin menetelmä 4.
(Tai mitä tahansa kääre elementti) pysyy semanttinen ja saatavilla, vaikka se ”klikattava” koko alueelle. Se ei riko tekstin valintaa ja kunnioittaa muita "sisäkkäisiä" interaktiivisia elementtejä.
Tämä on täysin kelvollinen HTML:
anything
Muista, että voit luoda linkkejä display: block;
, joten koko suorakaiteen muotoinen alue muuttuu napsautettavaksi. Mutta jos siellä on paljon sisältöä, se on ehdottomasti kauhea esteettömyyden kannalta, lukemalla kaiken sisällön interaktiivisena linkkinä.
Jos sinun on ehdottomasti käytettävä JavaScriptiä, yksi tapa on löytää linkki div: n sisältä ja mennä sen href
kohdalle, kun div: ää napsautetaan. Tämä on jQueryn kanssa:
$(".myBox").click(function() ( window.location = $(this).find("a").attr("href"); return false; ));
Etsitään linkkiä div: n sisällä luokan "myBox" kanssa. Ohjaa uudelleen linkkiarvoon, kun mitä tahansa div: n osaa napsautetaan.
Viite-HTML:
blah blah blah. link
Tai voit asettaa data-*
attribuutin
ja tehdä kuten:
window.location = $(".myBox").data("location");