我目前无法使用jQuery使用此代码。当我将其专门添加到“ a”链接元素上时,该事件将起作用。我希望jQuery在单击链接时会注册显示警报,但是在单击该链接时什么也不会发生。我在Chrome和DevTools控制台中运行此html根本没有显示任何错误!我不确定仅凭这本书我会做错什么!总的来说,我已经看到jQuery无法使用任何javascript,但是我发布了这一小段代码来说明。感谢所有找出我可能做错事的帮助!
<html>
<head>
<!-- jQuery version 3.3.1 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" />
<script>
$(document).ready(function() {
$("a").click(function() {
//This should show an alert when any link on the page is clicked.
alert("This is a test");
})
});
</script>
</head>
<body>
<a href="#">Click here to see alert</a>
<!-- This does not work! -->
<!-- This works fine!
<a href="#" onclick="javascript:alert('This is a test');">Click here to see alert</a> -->
</body>
</html>
答案 0 :(得分:1)
问题是因为script
标签没有自动关闭。您需要在jQuery.js参考之后添加单独的</script>
标签:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("a").click(function() {
console.log("This is a test");
})
});
</script>
</head>
<body>
<a href="#">Click here to see alert</a>
</body>
</html>
您的onclick="javascript:alert('This is a test');"
仍然有效的原因是,它不依赖于对jQuery的残破引用。
也就是说,您应该避免使用on*
事件属性,因为它们非常过时。到目前为止,不打扰的事件处理程序是最佳实践。