Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: MiguelCanellas en 20 Julio 2020, 23:11



Título: [Pregunta]: ¿Como puedo reemplazar una función en onclick=""?
Publicado por: MiguelCanellas en 20 Julio 2020, 23:11
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.  


Título: Re: [Pregunta]: ¿Como puedo reemplazar una función en onclick=""?
Publicado por: #!drvy en 21 Julio 2020, 10:40
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