2010-10-25 8 views
2

Comment dois-je faire ceci dans Javascript?Javascript: Changer le fond de la sélection

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

J'ai essayé, mais ceux-ci ne fonctionne pas vraiment:

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

Répondre

5

Vous pouvez ajouter une règle à la feuille de style.

// Get the first stylesheet 
var ssheet = document.styleSheets[0]; 

if ("insertRule" in ss) { 
    ss.insertRule('#yourdivcontainer::-moz-selection { background: transparent; }', 0);   
} 

IMO, ce n'est pas une bonne pratique de toute façon. Vous devez créer une classe CSS avec la couleur de sélection et changer la classe elle-même via JS au lieu du style.

2

:: sélecteurs sont des pseudo-éléments, des objets CSS qui ne correspondent pas aux nœuds d'éléments réels. Parce qu'il n'y a pas de nœud d'élément pour correspondre à ::-moz-selection, vous ne pouvez pas le style directement sur la propriété .style.background d'un élément. Au lieu de cela, vous devrez insérer une nouvelle règle de feuille de style dupliquant le CSS ci-dessus (voir this question pour un couple de méthodes pour cela).

Questions connexes