我在这里自动执行上面的部分。
在这个脚本中,我可以很容易地通过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:我注解掉了这个按钮,因为我使用可见性只是为了测试目的
2条答案
按热度按时间neskvpey1#
您正在 AJAX 请求解析之前执行
click()
。我建议在注册监听器 * 之后 * 简单地触发一个点击。
798qvoo82#
你必须在他们的监听器连接后调用它!首先,你必须添加一个监听器,然后触发你的点击事件。