javascript - CSS 伪元素上的事件监听器,例如::after 和::before?

标签 javascript css pseudo-element

我有一个 div 元素和一个 CSS 伪元素 ::before 用作关闭按钮(而不是使用实际按钮)。如何将事件监听器应用于伪元素?

HTML

<div id="box"></div>

CSS

#box:before
{
 background-image: url(close.png);
 content: '';
 display: block; 
 height: 20px;
 position: absolute;
 top: -10px;
 right: -10px; 
 width: 20px;
}

#box
{
 height: 100px;
 width: 100px;
}

最佳答案

正在寻找解决方案并找到了这个线程。现在想分享我的解决方法:

CSS

element { pointer-events: none; }
element::after { pointer-events: all; }

JS

element.addEventListener('click', function() { ... });

如果您不需要 element 上的任何指针事件,这将起作用。查看action .

关于javascript - CSS 伪元素上的事件监听器,例如::after 和::before?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9395858/

相关文章:

javascript - 我想要在 li.. 内升序第二个 div?

javascript - 在 JavaScript 中调整图像大小的奇怪问题(仅在 Firefox 中有问题)

html - 将元素符号图标更改为双引号

css - 在 Joomla 的伪元素操作中添加数据库条目

javascript - Google map 距离 API 在 React 中未定义

javascript - 在多个页面上平滑滚动导航

javascript - 将内部元素的显示设置为 'none' 后元素 scrollHeight 不更新?

css - IE7 中奇怪的 float 错误

css - 如何使输入文件看起来与标准 jQuery UI 输入具有相同的样式?

html - 从 :before/:after outside its boundaries in IE 定位一个元素