Oppdatering november 2020: Jeg tror den beste mulige teknikken for dette er metode 4 i denne artikkelen. Den
(eller hva wrapper element) forblir semantisk og tilgjengelig, samtidig som “klikkbare” over hele området. Det bryter ikke tekstvalget og respekterer andre "nestede" interaktive elementer.
Dette er helt gyldig HTML:
anything
Og husk at du kan lage lenker display: block;
, slik at hele det rektangulære området blir "klikkbart". Men hvis det er massevis av innhold der inne, er det helt forferdelig for tilgjengelighet, og leser alt innholdet som den interaktive lenken.
Hvis du absolutt trenger å bruke JavaScript, er en måte å finne en lenke inne i div og gå til dens href
når du klikker på div. Dette er med jQuery:
$(".myBox").click(function() ( window.location = $(this).find("a").attr("href"); return false; ));
Ser etter en lenke i div med klasse "myBox". Viderekobler til den lenkeverdien når du klikker på hvor som helst i div.
Referanse HTML:
blah blah blah. link
Eller du kan sette et data-*
attributt på
og gjøre som:
window.location = $(".myBox").data("location");