Test Foro de elhacker.net SMF 2.1

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

Título: [Pregunta]: ¿Como puedo reemplazar una función en onclick=""?
Publicado por: Leguim en 20 Julio 2020, 23:11 PM
Buenas tardes,

tengo lo siguiente...

HTML
Código (html) [Seleccionar]

<button type="button" class="the_button" onclick="alert(1);">Mostrar 1</button>


y quiero hacer lo siguiente...
Código (javascript) [Seleccionar]

document.querySelectorAll('.the_button')[0].onclick = console.log(1);


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 (javascript) [Seleccionar]

document.querySelectorAll('.the_button')[0].onclick = function()
{
       console.log(1);
};
Título: Re: [Pregunta]: ¿Como puedo reemplazar una función en onclick=""?
Publicado por: #!drvy 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 (javascript) [Seleccionar]
document.querySelectorAll('.the_button')[0].addEventListener('click', function (event) {
   console.log(1);
});


Así permites múltiples eventos.

Saludos