Направете цял Div кликващ - CSS-трикове

Anonim

Актуализация ноември 2020: Мисля, че най-добрата възможна техника за това е метод 4 в тази статия. В (или каквото и обвивка елемент) остава семантичен и достъпни, като същевременно е "кликване" върху цялата повърхност. Той не нарушава избора на текст и зачита други „вложени“ интерактивни елементи.

Това е напълно валиден HTML:

 anything 

И не забравяйте, че можете да правите връзки display: block;, така че цялата правоъгълна област да стане „кликваща“. Но ако там има много съдържание, това е абсолютно ужасно за достъпността, като се чете цялото това съдържание като интерактивна връзка.

Ако абсолютно трябва да използвате JavaScript, един от начините е да намерите връзка в div и да отидете до него, hrefкогато div бъде щракнат. Това е с jQuery:

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

Търси връзка в div с клас “myBox”. Пренасочва към тази стойност на връзките, когато се щракне навсякъде в div.

Референтен HTML:

 blah blah blah. link 

Или можете да зададете data-*атрибут на и да направите като:

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