Javascript 单击按钮';Firefox中的伪元素不会触发单击

Javascript 单击按钮';Firefox中的伪元素不会触发单击,javascript,html,css,Javascript,Html,Css,正如标题所示,在Firefox中单击按钮的伪元素不会触发单击 此外,伪元素下的文本和元素仍然是交互的。请看这里的小提琴: 我使用的是Firefox 58.0.1-Mac。在Chrome和Safari上测试小提琴,所有作品都符合预期。准备提交一个bug报告,但我想我应该先看看是否有人同意:这是一个bug,对吗? 更新日期:2018年7月19日 建议的副本无法解决此问题。我已经提交了一份Firefox错误报告,该错误得到了确认。我将添加一个反映这一点的答案 document.querySelec

正如标题所示,在Firefox中单击按钮的伪元素不会触发单击

此外,伪元素下的文本和元素仍然是交互的。请看这里的小提琴:

我使用的是Firefox 58.0.1-Mac。在Chrome和Safari上测试小提琴,所有作品都符合预期。准备提交一个bug报告,但我想我应该先看看是否有人同意:这是一个bug,对吗?

更新日期:2018年7月19日 建议的副本无法解决此问题。我已经提交了一份Firefox错误报告,该错误得到了确认。我将添加一个反映这一点的答案

document.querySelector('button')。addEventListener('click',function(){
document.querySelector('button').classList.toggle('overlay'))
})
button.overlay::after{
内容:“;
位置:固定;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景:rgba(128128.5);
}

当覆盖处于活动状态时,我将无法选择此文本。

并且,单击覆盖将触发按钮单击。

切换覆盖
您可以将覆盖设置为非伪元素

document.querySelector('button')。addEventListener('click',function(){
document.querySelector('.overlay wrap').classList.add('show'))
});
document.querySelector('.overlay wrap').addEventListener('click',function(){
this.classList.remove('show')
});
.overlay wrap{
显示:无;
}
.overlay-wrap.show{
内容:“;
位置:固定;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景:rgba(128128.5);
显示:块;
z指数:9999;
}

当覆盖处于活动状态时,我将无法选择此文本。

并且,单击覆盖将触发按钮单击。

切换覆盖
这是Firefox中的一个已知错误,我的错误报告证实了这一点: ... 已标记为此错误的副本:


这个bug已经存在4年了,但显然现在正在处理中。

以“还”开始提问?除了这个还有什么?标题。。。我将复制/pastaI我使用的是最新版本的Firefox 58.0.1(quantum),您的小提琴工作正常。更新后你能再检查一下吗?@Seth我也在Windows 10上尝试了FF 58.0.01,但它不能正常工作expected@Seth-更新问题以反映我也在Firefox 58.0.1-Mac OS上。感谢您的解决方案!是的,有一些不同的选择,但是如果我正确阅读规范,我的原始代码应该可以工作,并且原始代码对我来说更优雅/灵活。如果它是有效的,我想使用它,如果它确实是一个bug,我想等待Firefox发布修复。