Ver Mensaje Individual
  #13 (permalink)  
Antiguo 16/03/2015, 09:31
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: No funciona reactivacion de funciones

Esto:

Cita:
Iniciado por pvsge Ver Mensaje
Código Javascript:
Ver original
  1. function habil_des(){//funcion de activar o desactivar palabras de ayudaejer
  2.  
  3.     if (document.getElementById("inp").checked == true){
  4.         visible()
  5.         document.getElementById("visib").onmouseup = ("disabled")
  6.         document.getElementById("visib").onmousedown = ("disabled")
  7.     }
  8.     else{
  9.         invisible()
  10.         document.getElementById("visib").innerHTML.onmousedown = ("invisible()")
  11.         document.getElementById("visib").innerHTML.onmouseup = ("visible()")
  12.        
  13.     }
  14.  
  15. }
No tiene sentido. Para habilitar/deshabilitar un elemento del DOM, tienes que asignar o bien el valor true o false al atributo disabled del mismo, tal y como lo mencioné en una de mis respuestas anteriores.

Por otro lado, la propiedad innerHTML se utiliza para tomar/asignar el contenido de un elemento, por lo que intentar aplicar un evento al contenido, es imposible. Los eventos se aplican sobre los elementos, mas no sobre su contenido u otra propiedad.

Para el tema de la habilitación/deshabilitación del botón al estar marcado/desmarcado el checkbox, tendrías que hacer esto:

Código Javascript:
Ver original
  1. function habil_des(){
  2.     var visib = document.getElementById("visib"),
  3.         inp = document.getElementById("inp");
  4.     visib.disabled = inp.checked ? true : false;
  5. }

Y, por lógica, al estar deshabilitado, los clics no deberían de surtir efecto en el botón. Solo tendrán efecto cuando el botón esté habilitado.

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