Update November 2020: Ich denke, die bestmögliche Technik hierfür ist Methode 4 in diesem Artikel. Das
(oder ein beliebiges Wrapper-Element) bleibt semantisch und zugänglich, während es über den gesamten Bereich „anklickbar“ ist. Die Textauswahl wird nicht unterbrochen, und andere „verschachtelte“ interaktive Elemente werden nicht berücksichtigt.
Dies ist vollkommen gültiges HTML:
anything
Und denken Sie daran, dass Sie Links display: block;
erstellen können , damit der gesamte rechteckige Bereich „anklickbar“ wird. Aber wenn es eine Menge Inhalte gibt, ist es absolut schrecklich für die Zugänglichkeit, all diese Inhalte als interaktiven Link zu lesen.
Wenn Sie unbedingt JavaScript verwenden müssen, besteht eine Möglichkeit darin, einen Link innerhalb des Div zu finden und zu diesem zu wechseln, href
wenn auf das Div geklickt wird. Dies ist mit jQuery:
$(".myBox").click(function() ( window.location = $(this).find("a").attr("href"); return false; ));
Sucht nach einem Link innerhalb von div mit der Klasse "myBox". Leitet zu diesem Linkwert um, wenn auf eine beliebige Stelle in div geklickt wird.
Referenz-HTML:
blah blah blah. link
Oder Sie können ein data-*
Attribut für das festlegen
und Folgendes tun:
window.location = $(".myBox").data("location");