jquery 按“Id”隐藏按钮有效,但单击按钮无效

bq8i3lrv  于 2023-02-03  发布在  jQuery
关注(0)|答案(2)|浏览(167)

我在这里自动执行上面的部分。
在这个脚本中,我可以很容易地通过document.getElementById("showLine").style.visibility="hidden";隐藏“showLine”,没有问题。
但是不管我怎么做document.getElementById("showLine").click();都不会开火。
按钮未按下onload。

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

//Autoexecute on pageload
<script type="text/javascript">
  $(document).ready(function () {
    document.getElementById("showLine").click();
    //document.getElementById("showLine").style.visibility="hidden";
  });
</script>

//script with button "showLine"
<script>
  var lines;
  var randomNumber;
  var lastRandomNumber;
  $(document.body).ready(function () {
    $.ajax({
      url: "https://ry3yr.github.io/OSTR/Diarykeepers_Homepage/Daymusic_array.js",
    }).done(function (content) {
      lines = content
        .replace(/\r\n|\r/g, "\n")
        .trim()
        .split("\n");
      lines = content
        .replace(/\r\n|\r/g, "quote")
        .trim()
        .split("quote");
      // ^^ line rmvl ^^^
      if (lines && lines.length) {
        $("#showLine").on("click", function () {
          while (randomNumber === lastRandomNumber) {
            randomNumber = parseInt(Math.random() * lines.length);
            if (lines.length === 1) {
              break;
            }
          }
          lastRandomNumber = randomNumber;
          $("#trivia").html(lines[randomNumber]);
        });
      }
    });
  });
</script>

<button id="showLine">CurrListening</button>
<p id="trivia"></p>

那么,我如何解决这个点击不工作?
PS:我注解掉了这个按钮,因为我使用可见性只是为了测试目的

neskvpey

neskvpey1#

您正在 AJAX 请求解析之前执行click()
我建议在注册监听器 * 之后 * 简单地触发一个点击。

$("#showLine")
  .on("click", function () {
    while (randomNumber === lastRandomNumber) {
      randomNumber = parseInt(Math.random() * lines.length);
      if (lines.length === 1) {
        break;
      }
    }
    lastRandomNumber = randomNumber;
    $("#trivia").html(lines[randomNumber]);
  })
  .trigger("click");
798qvoo8

798qvoo82#

你必须在他们的监听器连接后调用它!首先,你必须添加一个监听器,然后触发你的点击事件。

相关问题