Me gustaría dos funciones a un botón. La primera se agregará de todos modos, mientras que la segunda función depende de una condición de verdadero/falso.
El siguiente código funciona, pero ¿debería hacer algo como esto?
<!DOCTYPE html> <html> <body> <h2>JavaScript addEventListener()</h2> <p>This example uses the addEventListener() method to attach a click event to a button.</p> <button id="myBtn">Try it</button> <p id="demo"></p> <script> document.getElementById("myBtn").addEventListener("click", displayDate); document.getElementById("myBtn").addEventListener("click", test); function displayDate() { document.getElementById("demo").innerHTML = Date(); } function test() { document.getElementById("demo").innerHTML += "test"; } </script> </body> </html>Puedes usar condition
const btn = document.getElementById("myBtn"); let isEvent = true; // Add 'Event' btn.addEventListener("click", displayDate); // Add conditional 'Event' if (isEvent) { btn.addEventListener("click", test); } // OR btn.addEventListener("click", e => { if (isEvent) { test(e); } });Aviso: no olvides eliminar el evento
Para resolver su problema, haría 1 función con una función dentro que tome la decisión de su condición.