jQuery如何单击一个伪类元素:after

时间:2014-03-28 12:03:34

标签: javascript jquery html css

如何点击此伪元素:after?我使用CSS制作叠加层,我想这很聪明,但我必须点击它才能关闭叠加层(:after)。

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;   
}

2 个答案:

答案 0 :(得分:0)

这是不可能的,因为伪元素不是DOM的一部分,你不能绑定它们上的事件。 (这就是他们称之为'伪'元素的原因。)

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

答案 1 :(得分:0)

几天前我遇到了同样的问题,我来到这里寻找答案,我发现没问题。我必须将伪元素放在span标签中,以便使用javascript获取对它的引用。