【问题标题】:Javascript : Change selection backgroundJavascript:更改选择背景
【发布时间】:2012-01-29 15:45:11
【问题描述】:

我应该如何在Javascript 中执行此操作?

// CSS
*::-moz-selection{
 background:transparent; 
}

我尝试了这些,但并没有真正奏效:

// Javascript
document.mozSelection = "transparent";
document.body.mozSelection = "transparent";

【问题讨论】:

    标签: javascript css selection


    【解决方案1】:

    您可以在样式表中添加规则。

    // Get the first stylesheet 
    var ssheet = document.styleSheets[0];
    
    if ("insertRule" in ss) {
        ss.insertRule('#yourdivcontainer::-moz-selection { background: transparent; }', 0);        
    }
    

    IMO,无论如何这都不是一个好习惯。您应该使用选择颜色创建一个 CSS 类,并通过 JS 而不是样式来更改类本身。

    【讨论】:

      【解决方案2】:

      :: 选择器用于伪元素,与实际元素节点不对应的 CSS 对象。因为没有元素节点可以匹配::-moz-selection,所以不能直接在元素的.style.background 属性上设置样式。

      相反,您必须插入一个复制上述 CSS 的新样式表规则(请参阅 this question 了解一些这样做的方法)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-19
        • 2014-01-30
        • 1970-01-01
        • 1970-01-01
        • 2012-10-01
        • 2021-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多