在Javascript中使用setTimeout模拟单击

cj3*_*333 5 javascript click settimeout

如何使用setTimeout模拟click事件?就像是:

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

<a id="mk1" href="some url">click me</a>
Run Code Online (Sandbox Code Playgroud)

cas*_*nca 12

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

window.onload = function() {
  setTimeout(function() {
    document.getElementById('mk1').click();
  }, 1000);
};
Run Code Online (Sandbox Code Playgroud)

编辑:正如@ThiefMaster指出的那样,你也想传递一个函数onload; 即使它看起来似乎不起作用,它也不会做它应该做的事情.

  • 你需要在匿名函数中包装你的调用.现在你将setTimeout**返回值**分配给`window.onload` (2认同)