如何使用 Javascript 设置 CSS3 ::selection

How to set CSS3 ::selection using Javascript

本文关键字:selection CSS3 设置 何使用 Javascript      更新时间:2023-09-26

有没有人知道如何使用 Javascript 动态执行此 CSS 规则,然后禁用它(特别是在某些鼠标手势期间抑制 Chrome 中烦人的选择):

::selection{
    background:transparent;
}

例如:document.body.style['::selection']['background']="transparent";,但当然不起作用。

我能想到的一些方法:

.JS

document.addEventListener("selectstart", function(){return false;});

.CSS

pointer-events: none;

我尝试了这种解决方法,它有效:

var styleElem=document.createElement('style'); 
styleElem.innerHTML='::selection{ background:transparent; }';
// enable in some cases
document.head.appendChild(styleElem);
// disable when not needed
window.getSelection().removeAllRanges();
document.head.removeChild(styleElem);