Solución:
Bueno, haz esto y tu problema estará resuelto:
document.getElementById('buttonLED'+id).setAttribute('onclick','writeLED(1,1)')
Que tengas un buen dia XD
Desea hacer esto: configure una función que se ejecutará para responder al evento onclick:
document.getElementById('buttonLED'+id).onclick = function(){ writeLED(1,1); } ;
Las cosas que está haciendo no funcionan porque:
-
El controlador de eventos onclick espera tener una función, aquí está asignando una cadena
document.getElementById('buttonLED'+id).onclick = "writeLED(1,1)";
-
En esto, está asignando como controlador de eventos onclick el resultado de ejecutar la función writeLED (1,1):
document.getElementById('buttonLED'+id).onclick = writeLED(1,1);
La línea onclick = writeLED(1,1)
significa que quieres inmediatamente ejecutar la función writeLED (arg1, arg2) con los argumentos 1, 1 y asignar el valor de retorno; en su lugar, debe crear una función que se ejecute con esos argumentos y asignarlos. La respuesta más alta dio un ejemplo; otro es usar la función bind () así:
var writeLEDWithSpecifiedArguments = writeLED.bind(this, 1,1);
document.getElementById('buttonLED'+id).onclick = writeLEDWithSpecifiedArguments;
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)