gpt4 book ai didi

javascript - 无法让最基本的点击事件绑定(bind)起作用

转载 作者:行者123 更新时间:2023-12-01 03:01:51 24 4
gpt4 key购买 nike

我是 javascript 新手,我已尝试尽可能多地进行调试,但我仍然无法弄清楚为什么当我单击文本时无法显示警报“事件 1”:

<!DOCTYPE html>
<html>

<head>
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<script type="text/javascript" language="javascript">


$("#id").bind("click", function() {
alert("Event 1");
});

</script>

<body>
<div class="foo" id="id">Click</div>
</body>
</html>

最佳答案

问题是您需要确保仅在页面加载后才绑定(bind)到该元素,因此该元素是可访问的。这可以通过将现有的 jQuery 包装在 $(document).ready() 中来完成。 ,如以下工作示例所示。

另外,请注意 .bind() 自 jQuery 3.0 起已被弃用,您应该使用 .on() 相反。请注意,您使用 .on 定位的元素在您调用它们时必须存在:

Event handlers are bound only to the currently selected elements; they must exist at the time your code makes the call to .on()

如果您的目标元素在页面加载时在 DOM 中可见,则可以使用 event delegation 绑定(bind)到在页面加载时可见的元素,然后将该功能委托(delegate)给目标。

<!DOCTYPE html>
<html>

<head>
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#id").on("click", function() {
alert("Event 1");
});
});
</script>

<body>
<div class="foo" id="id">Click</div>
</body>

</html>

希望这有帮助! :)

关于javascript - 无法让最基本的点击事件绑定(bind)起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46396820/

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