如果在几秒后单击正文,我如何触发 javascript 函数?

How do I trigger a javascript function if body is clicked after certain seconds?

我需要在点击正文时触发一个 window.open 函数,但前提是点击是在几秒钟之后。 示例:- 如果第二次单击是立即完成的,则不应打开 window。但 5 秒后,如果点击,window 应该打开。

我的代码不工作。

<script>
setInterval(myadFunction,5000);
  function myadFunction()
    {
      $("body").click(function () {
         window.open("https://www.google.com");
         });
         }
 </script>

这是一个 wordpress 网站。,我在 <body> 标签之前输入了这段代码。

为什么不起作用?

您可以尝试类似的方法:

<button onclick="timeFunction()">Submit</button>
      <script>
         function timeFunction() {
            setTimeout(function(){ window.open("https://www.google.com"); }, 5000);
        }
</script>

它包括:

setTimeout(functionname, milliseconds, arg1, arg2, arg3...)

参数如下-

functionname - 要执行的函数的函数名称。

milliseconds − 毫秒数。

arg1、arg2、arg3:这些是传递给函数的参数。

你可以使用 settimeout(函数, 毫秒)

首先。您应该确保将代码放在正确的位置。因为它是 Wordpress。那个混蛋真的让我心烦意乱。尝试将其置于活动主题中。

var click_allowed = 0; //global var (you use const if supported)
setTimeout(function(){ click_allowed = 1; },5000);
jQuery('body').click(function(){
    if(click_allowed) window.open("https://www.google.com");
});
    由于 wordpress 本机 jquery 限制,选择器使用
  • jQuery 而不是 $

你可以用旗帜来模拟你想要的东西。在这种情况下,"canClick" 标志将完成 you.Reset 的工作,它会在您期望的超时后恢复为真。

    var canClick = true;
    $("body").click(function () {
        if (canClick) {
            window.open("https://www.google.com");
            canClick = false;
            setTimeout(() => {
                canClick = true
            }, 5000);
        }
    });

如果您对此代码段有任何问题,请告诉我。