Estoy tratando de cambiar el tamaño del iframe haciendo clic en el botón usando el detector de eventos de clic. Pero el iframe automáticamente ejecuta la función y ni siquiera he hecho clic en el botón...
Alguien dijo que esto es un duplicado de ¿Cómo pasar argumentos a la función de escucha addEventListener? pero no veo donde esta relacionado esto???
const btn = document.querySelector('button'); const iframe = document.querySelector('iframe'); function change(w) { iframe.style.width = `${w}px`; } btn.addEventListener('click', change(150)); iframe { width: 300px; height: 300px; background-color: blue; } <button>Change</button> <iframe src=""></iframe>cambie su función de escucha de eventos así
btn.addEventListener('click', () => change(150));O
btn.addEventListener('click', function() { change(150) }); addEventListener espera una definición de función y no una llamada de función como segundo argumento.
Para obtener más información, lea: https://www.w3schools.com/js/js_htmldom_eventlistener.asp