2014-03-28 5 views
0

이 의사 요소를 어떻게 클릭 할 수 있습니까 :after? 나는 오버레이를 만들기 위해 CSS를 사용했지만, 꽤 똑똑하다고 생각하지만 오버레이를 닫으려면 클릭해야합니다 (:after).jQuery 가상 클래스 요소를 클릭하는 방법 :

http://jsfiddle.net/M6hm9/1/

자바 스크립트

if($('.open-sidebar').is(':visible')){ 
    $('.navigation-wrap').attr('menu-overlay').bind('click', function(){ 
    $(this).removeClass('open-sidebar'); 
    }); 
} 

CSS 의사 요소가 DOM의 일부가 아닌 당신이 그들에 이벤트를 바인딩 할 수 없기 때문에 불가능합니다

&:after { 
    content: attr(menu-overlay); 
    position:absolute; 
    top:0; 
    bottom:0; 
    left: 0; 
    right:0; 
    width: 100%; 
    height: 100%; 
    background: rgba(6, 16, 35, 0); 
    z-index: -1; 
    cursor: pointer; 
} 
+0

DOM 개체가 아니기 때문에 그렇게 할 수 없습니다. 오버레이 된 요소에 다른 함수를 사용해야 만 제거 할 수 있습니다. –

+0

@ rm-vanda 무엇을 복제 했습니까? – sanguisuga

+0

귀하의 게시물 상단을보십시오. –

답변

0

며칠 전이 같은 문제가 발생했습니다. 문제가없는 답변을 찾으러 여기에 왔습니다. 자바 스크립트로 참조를 얻으려면 범위 태그에 의사 요소를 넣어야했습니다.

0

. (이것이 바로 '의사'요소라고 불리는 이유입니다.)

오버레이를 자체 요소에 넣어야합니다.

관련 문제