¿Cómo simularía un evento de clic con setTimeout? Algo así como:Simular clic con setTimeout en Javascript
<script>
window.onload=setTimeout(document.getElementById('mk1').click(),1000);
</script>
<a id="mk1" href="some url">click me</a>
¿Cómo simularía un evento de clic con setTimeout? Algo así como:Simular clic con setTimeout en Javascript
<script>
window.onload=setTimeout(document.getElementById('mk1').click(),1000);
</script>
<a id="mk1" href="some url">click me</a>
Actualmente el código llama click()
inmediatamente y pasa el valor devuelto a setTimeout
. Por el contrario quiere pasar una referencia a la función setTimeout
:
window.onload = function() {
setTimeout(function() {
document.getElementById('mk1').click();
}, 1000);
};
Editar: Como @ThiefMaster señala, también desea pasar una función a onload
; aunque parezca funcionar de otra manera, no haría lo que realmente debería estar haciendo.
; debe envolver su llamada en una función anónima. en este momento usted asigna el setTimeout ** return value ** a 'window.onload' – ThiefMaster
@ThiefMaster: Gracias, pasé por alto completamente esa parte del código. :) – casablanca
"parece que funciona de otra manera": Sí, pero no se ejecuta, pero inmediatamente en ese caso, e intentará llamar a un número entero cuando se active el fuego – ThiefMaster
document.getElementById('mk1').click()
está evaluando cuándo se ejecuta primero la secuencia de comandos. Necesita convertirlo en una función y pasarlo como el primer parámetro.
Si realmente quiere simular un clic, entonces casablanca tiene la respuesta correcta. Si solo desea redireccionar la página a una url diferente, entonces asigne un valor a window.location –