기능 감지 기능을 사용하여 브라우저에서 : 호버 (hover) 의사 클래스를 지원하는지 여부를 어떻게 결정합니까? 가능한 경우 ie6- 특정 스크립트 파일을 포함하도록 조건부 주석을 사용하지 않고이 작업을 수행하려고합니다.브라우저가 CSS 호버를 지원하는지 확인하기 위해 기능 감지를 사용하는 방법은 무엇입니까?
답변
ie6 이상인 경우 마우스 오버를 지원하지 않습니다. 마우스 오버를 지원하지 않는 다른 브라우저는 너무 오래되어 걱정할 필요가 없습니다.
편집
즉, 6 :hover
작업을 할 수 있습니다 : See here
은 : 의사 클래스를 가져가 표준을 준수하는 브라우저에서 지원됩니다. IE6과 같은 브라우저는 <a>
요소에 대해서만 지원합니다.
그러나 jQuery를 사용하여 모든 것을 가리키는 변경을 사용할 수 있습니다. 당신의 CSS에서
$('.class').hover(
function(){
$(this).addClass('hover');
},
function(){
$(this).removeClass('hover');
});
은 pesudo 클래스 대신에 클래스 .hover를 사용 가져
나는 누군가가 항상 jQuery 솔루션을 제공하는 것을 좋아한다. – mikerobi
모든 브라우저에서 호버 지원을 시뮬레이트하는 가장 깨끗한 방법이라고 생각합니다. 그리고 실제로 그의 해결책에 대한 질문에 대답했습니다;) – daveyfaherty
jquery가 아닌 프로젝트에서 작업하는 사람에게는별로 도움이되지 않습니다. 확실히 가장 깨끗한 문제는 아닙니다. 실제로 ie : 6에서': hover' 작업을하는 픽스가 있습니다. 내 업데이트 답변을 참조하십시오. – mikerobi
특징 검출을 위해, 당신은 꽤 큰 의존성 것 같아 몇 가지 복잡한 자바 스크립트, 필요 - 특히보고를 (AFAIK) 브라우저 만 지원합니다. 호버는 실제로 IE6입니다. –
이론적으로 'body : hover'에 스타일을 설정하고 본문의 계산 된 스타일을 가져 와서 설정되어 있는지 확인할 수 있습니다. 비록 포인터가 도구 모음에 있었다면 그것은 깰 것이라고 생각합니다. 즉, 포인터가있는 지점을 클릭 할 가치가 있다는 표시를 위해 : : hover를 사용하고 있다면 어쨌든 JS를 살펴 봐야합니다. ': hover'는 너무 제한적이어서 포인팅 장치를 사용하는 사람들에 의존하고 안정적으로 유지할 수 있다는 것을 의미하는 경향이 있습니다 (예 : 관절염으로는 어려움). – Quentin
거의 모든 주요 현대적인 브라우저는 : 호버 (doover) 가상 클래스 – heymrcarter