Foros del Web » Programando para Internet » Javascript »

Sencillisima cuestion javascript

Estas en el tema de Sencillisima cuestion javascript en el foro de Javascript en Foros del Web. Hola, creo que no es para nada complicado lo que preguntaré pero es que no caigo Quiero que cuando una función js se active, un ...
  #1 (permalink)  
Antiguo 01/09/2013, 16:07
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 4 meses
Puntos: 14
Sencillisima cuestion javascript

Hola, creo que no es para nada complicado lo que preguntaré pero es que no caigo Quiero que cuando una función js se active, un <div> cambie un atributo, me explico:

Este div esta así:
Código HTML:
<div id="todo" onclick="salvar();"> 
Lo que quiero es que si la función no está activada (se activa con un botón) el div no tenga el onclick, que solo muestre:
Código HTML:
<div id="todo"> 
Sé que es sencillo pero no se me ocurre la forma de hacerlo, he intentado hacer desde js que una variable php adquiera un valor y con un if tener un div u otro pero nada, a ver si me podeis echar una mano, muchas gracias!
__________________
Creador de Vipefy , una nueva red social con un punto de vista diferente de las relaciones sociales.
  #2 (permalink)  
Antiguo 01/09/2013, 17:05
Avatar de Franz1628  
Fecha de Ingreso: marzo-2007
Ubicación: Lima - Perú
Mensajes: 145
Antigüedad: 17 años, 1 mes
Puntos: 26
Respuesta: Sencillisima cuestion javascript

Podrías hacer esto . El div debe tener como atributo onclick = "salvar(this)"
y tu funcion salvar debes ponerle un argumento por ej. div y al final de la funcion debes poner
miDiv.onclick = ''

Código Javascript:
Ver original
  1. function salvar(miDiv){
  2.  
  3.    // Aca va todo tu codigo
  4.     miDiv.onclick = '';  //Esto pones al final
  5. }


Código HTML:
Ver original
  1. <div id="todo" onclick="salvar(this);">
__________________
En mi Blog puedes ver articulos javascript y más...
@Franz1628
  #3 (permalink)  
Antiguo 01/09/2013, 18:45
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 4 meses
Puntos: 14
Respuesta: Sencillisima cuestion javascript

Cita:
Iniciado por Franz1628 Ver Mensaje
Podrías hacer esto . El div debe tener como atributo onclick = "salvar(this)"
y tu funcion salvar debes ponerle un argumento por ej. div y al final de la funcion debes poner
miDiv.onclick = ''

Código Javascript:
Ver original
  1. function salvar(miDiv){
  2.  
  3.    // Aca va todo tu codigo
  4.     miDiv.onclick = '';  //Esto pones al final
  5. }


Código HTML:
Ver original
  1. <div id="todo" onclick="salvar(this);">
No funciona ya que al principio el div debe estar sin el onclick, solo con el id. Muchas gracias de todos modos.
__________________
Creador de Vipefy , una nueva red social con un punto de vista diferente de las relaciones sociales.
  #4 (permalink)  
Antiguo 02/09/2013, 10:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Sencillisima cuestion javascript

Agrega el evento al div, si usas jquery es relativamente sencillo:

Código Javascript:
Ver original
  1. $('#div').click(function(){
  2. lo que debe hacer.
  3. });
  #5 (permalink)  
Antiguo 02/09/2013, 11:53
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Sencillisima cuestion javascript

Código HTML:
Ver original
  1. <div id="todo">texto/<div>
  2. <button id="activador" onclick="activar("todo")">click</button>

Código Javascript:
Ver original
  1. function activar(id)
  2. {
  3. document.getElementById(id).addEventListener("click",tareas,false);
  4. }
  5.  
  6. function tareas(evt)
  7. {
  8. //cosas que debe hacer el div cuando le den click
  9. }

Cuando den click al div en un principio no pasa nada
Una vez que le den click al boton, los posteriores click al div haran las cosas que declares en la funcion tareas

salu2

Etiquetas: js, php, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:56.