elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Como puedo reemplazar una función en onclick=""?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Como puedo reemplazar una función en onclick=""?  (Leído 4,505 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: ¿Como puedo reemplazar una función en onclick=""?
« en: 20 Julio 2020, 23:11 pm »

Buenas tardes,

tengo lo siguiente...

HTML
Código
  1. <button type="button" class="the_button" onclick="alert(1);">Mostrar 1</button>
  2.  

y quiero hacer lo siguiente...
Código
  1. document.querySelectorAll('.the_button')[0].onclick = console.log(1);
  2.  

Es decir, reemplazar la función... en vez de mostrar el 1 con un alert mostrarlo por consola... ¿Como podría hacer esto?

EDIT:
Solución:

Código
  1. document.querySelectorAll('.the_button')[0].onclick = function()
  2. {
  3.       console.log(1);
  4. };
  5.  


« Última modificación: 21 Julio 2020, 00:20 am por MiguelCanellas » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: [Pregunta]: ¿Como puedo reemplazar una función en onclick=""?
« Respuesta #1 en: 21 Julio 2020, 10:40 am »

Lo mejor que puedes hacer es dejar de sobreescribir los eventos y en cambio añadir escuchas.

https://www.simonewebdesign.it/onclick-vs-addeventlistener/


Código
  1. document.querySelectorAll('.the_button')[0].addEventListener('click', function (event) {
  2.    console.log(1);
  3. });

Así permites múltiples eventos.

Saludos


« Última modificación: 23 Julio 2020, 09:23 am por #!drvy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines