¿Por qué el código en este violín JS no funciona? Quiero que registre una cadena en blanco, pero está registrando un evento de puntero. https://jsfiddle.net/wvom7k2f/
let c = document.getElementById('c'); c.onclick = test; function test(a='', b=''){ console.log(a); }Un controlador de eventos onclick pondrá el evento como el primer parámetro. Si desea llamar a prueba sin parámetros, debe cambiar c.onclick = prueba; a lo siguiente:
c.onclick = () => test();Estás haciendo c.onclick = test . El evento onclick llama a su función con el evento como primer parámetro.
Intenta hacerlo:
function test(e, a='', b='') { console.log(a); } c.onclick = test; O, si no desea cambiar test() , puede hacerlo:
function test(a='', b='') { console.log(a); } c.onclick = function(e) { test(); };