Umožniť kliknutie na celý div Triky CSS

Anonim

Aktualizácia november 2020: Myslím, že najlepšou možnou technikou je metóda 4 v tomto článku. (Alebo čokoľvek wrapper element) zostáva sémantický a prístupná, aj keď je "klikacie" po celej ploche. Neporušuje výber textu a rešpektuje ďalšie „vnorené“ interaktívne prvky.

Toto je úplne platný kód HTML:

 anything 

Pamätajte, že môžete vytvárať odkazy display: block;, takže na celú obdĺžnikovú oblasť bude možné kliknúť. Ale ak je tam kopa obsahu, je to úplne hrozné z hľadiska prístupnosti, keď si celý tento obsah prečítame ako interaktívny odkaz.

Ak nevyhnutne potrebujete použiť JavaScript, jedným zo spôsobov je nájsť odkaz vo vnútri prvku div a prejsť na neho, hrefkeď na neho kliknete. Toto je s jQuery:

$(".myBox").click(function() ( window.location = $(this).find("a").attr("href"); return false; ));

Hľadá odkaz vo vnútri div s triedou „myBox“. Presmeruje na túto hodnotu odkazu, keď kliknete kamkoľvek na div.

Referenčný HTML:

 blah blah blah. link 

Môžete tiež nastaviť data-*atribút a:

window.location = $(".myBox").data("location");