代码之家  ›  专栏  ›  技术社区  ›  Fjott

单击按钮后打开url之前请等待

  •  0
  • Fjott  · 技术社区  · 6 年前

    下面的超时代码仅在href目标为 _blank _self undefined .

    $("#button").click(function() {
    
      setTimeout(function(url) {
        window.location = url;
      }, 800, linkUrl);
    
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <a href="https://www.w3schools.com"><button id="button">Click</button></a>

    如何修复代码,使其在单击按钮时在同一窗口中打开新链接之前等待.8秒?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Maximilian Kaske    6 年前

    a 标记并设置 window.location .

    $("#button").click(function() {
    
      setTimeout(function() {
        window.location = "https://www.w3schools.com";
      }, 800);
    
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <button id="button">Click</button>
        2
  •  0
  •   Merey Nurlan    6 年前

    你应该使用 location.href = "url.com" window.open("url.com") 而不是在标签中。

    查看这些帖子以获得更深入的理解 Jquery Delay After Click Open URL in same window and in same tab

    $("button").click(
        function() {
            console.log("clicked...waiting...");
    
            setTimeout(
                function() {
                    location.href = "https://stackoverflow.com/questions/8752541/jquery-delay-after-click";
                },
                800);
        });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <button type="button">Click Me</button>