Foros del Web » Programando para Internet » Javascript »

Cambiar onClick con JavaScript

Estas en el tema de Cambiar onClick con JavaScript en el foro de Javascript en Foros del Web. Resuelto. Buenas tardes colegas!, Es posible, que a un elemento, mas precisamente un botón, pueda cambiarle el evento onClick con JavaScript?. Para ser mas claro, ...
  #1 (permalink)  
Antiguo 08/12/2009, 17:36
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Cambiar onClick con JavaScript

Resuelto.

Buenas tardes colegas!,

Es posible, que a un elemento, mas precisamente un botón, pueda cambiarle el evento onClick con JavaScript?.

Para ser mas claro, tengo un bóton que al pulsarlo se dirige a una función, pero deseo que valla a otra función si es que algo pasa, por eso necesito esto.

Pensaba en hacer algo como esto:

Código:
document.getElementById('elemento').onclick = "función('parametro')";
Desde ya, muchas gracias!.

Última edición por elkevin; 09/12/2009 a las 13:20 Razón: Resuelto.
  #2 (permalink)  
Antiguo 08/12/2009, 17:38
Avatar de ClubIce  
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Cambiar onClick con JavaScript

document.getElementById('elemento').onclick = function MyFuncion (parametro) {
contenido de la funcoion
}

o si tambiem

document.getElementById('elemento').onclick = MyFuncion
  #3 (permalink)  
Antiguo 08/12/2009, 17:43
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Cambiar onClick con JavaScript

document.getElementById('elemento').setAttribute=( "onclick","funcion('parametro');");
  #4 (permalink)  
Antiguo 08/12/2009, 18:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cambiar onClick con JavaScript

@jackson666,
el ejemplo que muestra es valido pero lamentablemente para iexplorer no funciona, al menos desde la version 7 y anteriores, no lo he intentado en el 8. y por cierto, luego de setAttribute te sobra el operador de asignacion ya que setAttribute es una funcion.
Código:
setAttribute=( "onclick","funcion('parametro');");
edit @ 19:20 DST -5 GMT,
acabo de comprobar en el 8 y funciona. no tengo la version 7 para asegurarse si funciona. se que puedo cambiar el modo a la version 7 pero no se cuan fiable es.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 08/12/2009 a las 18:20
  #5 (permalink)  
Antiguo 08/12/2009, 18:35
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Cambiar onClick con JavaScript

Cita:
Iniciado por ClubIce Ver Mensaje
document.getElementById('elemento').onclick = function MyFuncion (parametro) {
contenido de la funcoion
}

o si tambiem

document.getElementById('elemento').onclick = MyFuncion
Cita:
Iniciado por jackson666 Ver Mensaje
document.getElementById('elemento').setAttribute=( "onclick","funcion('parametro');");
Muchas gracias por su rápida ayuda muchachos!, pero no logro hacerlo andar.

Al precionar un botón en el documento, se abre un LightBox, dentro del LightBox tengo 2 botones, uno es "Cancelar", que cierra el LightBox, y otro es "Aceptar", que realizaría la función que yo establezca con el onClick que deseo modificar.

Para simplificar un poco, solamente le doy al botón "Cancelar" el onClick que tiene por defecto, para probar que anda, pero nada, acá les dejo el código:

- HTML:

Código HTML:
<p><a href="#" onClick="showLightbox('Mostrando!')">Mostrar LightBox</a></p>

<div id="over" class="overbox">
	<div id="content">
        <input type="button" onclick="" id="cancelar" value="Cancelar" />
	</div>
</div> 
- JavaScript:

Código:
function showLightbox(titulo)
{
	document.getElementById('over').style.display='block';
	document.getElementById('cancelar').setAttribute=( "onclick","hideLightbox();");
	
}
No agregué la función "hideLightBox" por que no lo consideré relevante.

El tema es que pruebo ese código, y en este caso, el botón "Cancelar" no funciona. Si funciona si coloco ese atributo manualmente en el Botón.

Que estoy haciendo mal?, muchas gracias muchachos!.


Cita:
Iniciado por zerokilled Ver Mensaje
@jackson666,
el ejemplo que muestra es valido pero lamentablemente para iexplorer no funciona, al menos desde la version 7 y anteriores, no lo he intentado en el 8. y por cierto, luego de setAttribute te sobra el operador de asignacion ya que setAttribute es una funcion.
Código:
setAttribute=( "onclick","funcion('parametro');");
Gracias por participar!, aún no logro que esto funcione, y estoy con FF3. De todos modos, si esto llega a funcionar en FF, como puedo hacerlo andar también en IE?.


Muchas gracias a todos nuevamente!.
  #6 (permalink)  
Antiguo 08/12/2009, 18:48
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Cambiar onClick con JavaScript

y para que utilizas titulo ???????

<p><a href="#" onClick="showLightbox()">Mostrar LightBox</a></p>

<div id="over" class="overbox">
<div id="content">
<input type="button" onclick="" id="cancelar" value="Cancelar" onclick="hideLightbox();" />
</div>
</div>

function showLightbox(titulo)
{
document.getElementById('over').style.display='blo ck';
}
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 08/12/2009, 19:06
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Cambiar onClick con JavaScript

Cita:
Iniciado por masterojitos Ver Mensaje
y para que utilizas titulo ???????

<p><a href="#" onClick="showLightbox()">Mostrar LightBox</a></p>

<div id="over" class="overbox">
<div id="content">
<input type="button" onclick="" id="cancelar" value="Cancelar" onclick="hideLightbox();" />
</div>
</div>

function showLightbox(titulo)
{
document.getElementById('over').style.display='blo ck';
}
Nos vemos de nuevo!,

Quedó de la función que estaba utilizando, pasaba un parámetro "título" para cambiar un título en el LightBox que mostraba dentro de un SPAN.

De todos modos, lo que no logro, es cambiar el atributo onClick del botón "Cancelar" (cité el botón "Cancelar" como ejemplo nada mas).

Muchas gracias otra vez!.
  #8 (permalink)  
Antiguo 08/12/2009, 19:13
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Cambiar onClick con JavaScript

haber haber....... creo que tu querias el efecto lightbox.... lo cual te lo pase en un post anterior......

ahora por que tienes problemas si en el link que te pase esta como usarlo y es todo sencillo.

la verdad no entiendo bien lo que deseas hacer cuando dices esto:

Cita:
Quedó de la función que estaba utilizando, pasaba un parámetro "título" para cambiar un título en el LightBox que mostraba dentro de un SPAN.

De todos modos, lo que no logro, es cambiar el atributo onClick del botón "Cancelar" (cité el botón "Cancelar" como ejemplo nada mas).
espero puedas solucionarlo...... ya que yo ya me retiro .........

sino mandame un MP y haber si te logro ayudar.

nos vemos luego.......

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #9 (permalink)  
Antiguo 08/12/2009, 20:00
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Cambiar onClick con JavaScript

Cita:
Iniciado por masterojitos Ver Mensaje
haber haber....... creo que tu querias el efecto lightbox.... lo cual te lo pase en un post anterior......

ahora por que tienes problemas si en el link que te pase esta como usarlo y es todo sencillo.

la verdad no entiendo bien lo que deseas hacer cuando dices esto:



espero puedas solucionarlo...... ya que yo ya me retiro .........

sino mandame un MP y haber si te logro ayudar.

nos vemos luego.......

Suerte.
Es cierto lo que decís, pero olvidate del LightBox.

Estoy realizando una modificación del mismo, para adaptarlo a mis exigencias.

Dentro del LightBox, va a haber un botón, que tengo que poder manipular, y el único modo que se me ocurre, es cambiando el parámetro del onClick del mismo.

Enotonces, cuando invoco el LightBox, aprovecho para configurar el onClick del botón que está ahí dentro.

Hice lo que me recomendaron los muchachos mas arriba, pero no funciona.

Si tenés alguna idea, lo agradecería!, saludos!.
  #10 (permalink)  
Antiguo 08/12/2009, 20:13
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Cambiar onClick con JavaScript

es que la verdad...... es dificil modificar las librerias js....... en este caso el lightbox......

o bien lo utilizas como trae, o bien haces el tuyo...... hahaha.

bueno te vuelvo a mencionar...... explica bien lo que realmente deseas hacer con ese boton que quieres modificar y haber que tal ps.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #11 (permalink)  
Antiguo 08/12/2009, 20:29
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Cambiar onClick con JavaScript

Cita:
Iniciado por masterojitos Ver Mensaje
es que la verdad...... es dificil modificar las librerias js....... en este caso el lightbox......

o bien lo utilizas como trae, o bien haces el tuyo...... hahaha.

bueno te vuelvo a mencionar...... explica bien lo que realmente deseas hacer con ese boton que quieres modificar y haber que tal ps.

suerte.
Bueno, no tomemos LightBox como ejemplo :).

Tengo un botón, con el que invoco un función de JS. Esta función, cambia varias atributos, entre estos, el evento onClick de un botón en particular.

Estoy intentando hacer esto, pero no logro hacerlo funcionar.

Plantié un ejemplo para mostrarles, se trata de 2 botones, cuando preciono el primero, debería configurar el evento onClick del segundo, si todo andaría bien, al presionar el segundo, debería imprimir un texto.

- HTML:

Código HTML:
<body>
<p>
	<input type="button" name="boton1" id="boton1" value="boton1" onclick="funcion1();"/>
</p>
<p>
	<input type="button" name="boton2" id="boton2" value="boton2" />
</p>
</body> 
- JavaScript

Código:
<script language="javascript">
function funcion1()
{
	document.getElementById('boton2').setAttribute = ("onClick", "funcion2();");
}

function funcion2()
{
	document.write("Funcion 2");
}

</script>
Haber si con eso pude explicarme! :)

Muchas gracias por su paciencia!.
  #12 (permalink)  
Antiguo 09/12/2009, 13:19
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Cambiar onClick con JavaScript

Como el tema se murió por acá, hice mas específica mi consulta, y continué en este post, ahí pude resolver mis cuestiones.

Agradezco mucho a todos los que participaron!.
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 04:18.