Актуализация ноември 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");