2011-11-02 5 views
0

J'écris dynamiquement CSS en Javascript. J'essaie de spécifier (en Javscript) que lorsque la souris survole un élément de paragraphe, sa couleur de texte change.Javascript: Définir une couleur d'éléments sur le vol stationnaire .style

Est-il possible de le faire sans avoir à recourir à la voie onMouseOver, quelque chose comme ...

myEle.style.colorHover = "#FFFFFF"; 

// Maybe this works? 
var ele = document.createElement("p"); 
ele.style.colorHover = "#FFFFFF"; 
ele.style.backgroundColorHover = "#000000"; 
ele.style.color = "#000000"; 
ele.style.backgroundColor = "#FFFFFF"; 
+4

Voir http://stackoverflow.com/questions/311052/setting-css-pseudo-class-rules-from-javascript ou http: //stackoverflow.com/questions/714655/how-can-i-set-a-css-hover-on-a-dom-created-element-in-javascript - c'est exactement ce que vous cherchez. – ThiefMaster

+1

Étant donné le manque de prise en charge de la pseudo-classe * hover * dans IE, les effets de survol sont généralement implémentés à l'aide d'écouteurs pour les événements mouseover/out sur un élément parent (par exemple sur un élément de table ou de table). – RobG

+0

Si vous faites cela à plus de 1 sur la page, je vous recommande d'utiliser jQuery et le gestionnaire hover() http://api.jquery.com/hover/ rend la gestion de l'OMI un peu plus agréable. – sweetroll

Répondre

0

Juste envelopper votre texte dans un supplément Une étiquette et utilisation: hover pour changer la couleur de votre texte

Bien sûr, vous voudrez probablement créer une classe et l'ajouter via JavaScript.

JavaScript:

ele.setAttribute("class", "myClass"); 

CSS:

P A.myClass 
{ 
/* colors when not hovering */ 
} 
P A.myClass:hover 
{ 
/* colors when hovering */ 
} 
Questions connexes