Estoy tratando de cambiar una página html con un retraso de 3 segundos cuando el usuario hace clic en un div específico en la pantalla.
document.getElementById("specificDiv").addEventListener("click", setTimeout(document.getElementById("linkToAnotherPage").click(), 3000) )
sin embargo, eventListener no funciona. cuando la página se carga, automáticamente hace clic en "linkToAnotherPage" después de que hayan pasado 3 segundos desde que se cargó la página.
Me encantaría que alguien pudiera ayudarme a entender qué está mal aquí.
setTimeout
toma una función. Si no pasa una función, ejecutará el código inmediatamente. Sin embargo, si pasa una función, la función se invocará después del tiempo especificado. Demostrar:
setTimeout(console.log('Hello World 2'), 5000) setTimeout(() => console.log('Hello World 1'), 5000)
Por lo tanto, su código debe actualizarse a: document.getElementById("specificDiv").addEventListener("click", setTimeout(() => document.getElementById("linkToAnotherPage").click(), 3000));
si desea que espere los 3s especificados antes de ejecutar el clic.