2014-03-28 77 views
0

如何点击这个伪元素:after?我使用CSS来制作覆盖图,我想这很聪明,但我必须点击它才能关闭覆盖图(:after)。jQuery如何点击伪类元素:

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

的JavaScript

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

CSS

&: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

几天前我遇到了同样的问题,我来到这里寻找答案,我发现没有问题。我不得不将这个伪元素放在span标记中,以便通过javascript获得对它的引用。

0

因为伪元素不是DOM的一部分,你不能绑定在他们身上事件是不可能的。 (这就是为什么他们称为“伪”元素)。

您需要将叠加层放置在其自己的元素中。