Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/02/2014, 16:23
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Colorear celdas

Una solución (entre las tantas que se pueden crear) para lo que buscas, es trabajar con atributos personalizados. Puedes asignar un atributo "data-click", el cual manejará dos valores; 1 y 0. Cuando le des un clic a la fila, se asigna el valor 1, esto es para que cuando pasemos el puntero del mouse sobre dicha fila y luego lo retiremos, no cambie el color que tomó, pero si le damos otro clic, el valor del atributo "data-click" será igual a cero y sí podrá cambiar el color al retirar el puntero del mouse de la fila en cuestión.

Código Javascript:
Ver original
  1. var filas = document.getElementsByTagName("tr"),
  2.     total = filas.length;
  3.  
  4. for (i = 0; i < total; i++){
  5.     filas[i].addEventListener("mouseover", function(){
  6.         this.style.background = "red";
  7.     }, false);
  8.    
  9.     filas[i].addEventListener("mouseout", function(){
  10.         if (!this.getAttribute("data-click") || this.getAttribute("data-click") == 0)
  11.             this.style.background = "white";
  12.         console.log(this.getAttribute("data-click"));
  13.     }, false);
  14.    
  15.     filas[i].addEventListener("click", function(){
  16.         if (!this.getAttribute("data-click") || this.getAttribute("data-click") == 0)
  17.             this.setAttribute("data-click", 1);
  18.         else
  19.             this.setAttribute("data-click", 0);
  20.     }, false);
  21. }

DEMO: http://jsfiddle.net/Wj7Fj/

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand