在Javascript中使用setTimeout模拟单击

时间:2011-05-17 13:49:58

标签: javascript click settimeout

如何使用setTimeout模拟点击事件?类似的东西:

<script>
    window.onload=setTimeout(document.getElementById('mk1').click(),1000);
</script>

<a id="mk1" href="some url">click me</a>

2 个答案:

答案 0 :(得分:12)

目前,您的代码会立即调用click()并将返回值传递给setTimeout。您想要将函数引用传递给setTimeout

window.onload = function() {
  setTimeout(function() {
    document.getElementById('mk1').click();
  }, 1000);
};

编辑:@ThiefMaster指出,您还希望将函数传递给onload;即使它看起来似乎不起作用,它也不会做它应该做的事情。

答案 1 :(得分:1)

document.getElementById('mk1').click()正在评估脚本何时首次运行。您需要将其转换为函数并将其作为第一个参数传递。