gpt4 book ai didi

javascript - 为什么我必须将按钮单击事件的 jquery 函数放在 $(document).ready() 中?

转载 作者:行者123 更新时间:2023-11-28 13:03:52 26 4
gpt4 key购买 nike

考虑以下 html..

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="test.js"></script>
</head>
<body>
<button id="mybutton" type="button">submit</button>
</body>
</html>

...当我尝试在 test.js 中通过...为按钮的单击事件实现 jQuery 事件处理程序时...

$("#mybutton").on("click", function (event) {
alert("clicked");
});

...它不起作用。但是如果我用准备好的文档包装该函数,如...

$(document).ready(function () {
$("#mybutton").on("click", function (event) {
alert("clicked");
});
});

...它有效。这是为什么?是否应该将所有事件处理程序放置在准备好的文档中?寻找一致的方法。

我希望尽可能使用 jQuery。我很难理解 jQuery 的功能范围。我见过一些情况,人们主张将脚本定义放在 html <head> 中,其他人说放置在 body 的底部以便更好地确定范围,但我显然很难理解为什么。

最佳答案

这是因为您的 JavaScript 可能在内容出现在页面上之前运行。例如,如果您的脚本位于头部,则这种情况很常见。通过将其放入就绪处理程序中,您可以确保选择元素实际上是可能的。如果它在元素出现之前运行,则您将一个点击处理程序附加到一个空的按钮列表。

$("#mybutton").on("click", function (event) {
alert("clicked");
});

关于javascript - 为什么我必须将按钮单击事件的 jquery 函数放在 $(document).ready() 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48105883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com