我是 jQuery 的新手,所以这应该是一个简单的问题。
据我所知,我可以绑定(bind)一个方法来监听一个事件,比如点击一个按钮,使用
$('#buttonID').bind('click', function (){//some code});
但是,这对我不起作用,所以我一定是做错了什么。
这是我的简单 html 文件:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js'></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js'></script>
<script src='test.js'></script>
</head>
<body>
<input id="SignIn" type="button" value="Sign In"></input>
</body>
</html>
除了加载 jQuery 文件外,它还会加载文件 test.js,如下所示:
// JavaScript Document
$('#SignIn').bind('click', function() {alert('hi');});
绑定(bind)还不够吗?我希望这会触发一个警告对话框,但它没有,似乎回调根本没有执行。
这里有什么问题?这两个文件(html 和 js)都位于同一目录中,Google Chrome 浏览器不会在 JavaScript 控制台中出现任何问题,因此从这一点来看,一切都应该没问题。
感谢大家的帮助!
最佳答案
将您的代码包装在 document ready 中处理程序。它接受一个在 DOM 完全加载时执行的函数。
因为您使用的是 jQuery 1.3
$(document).ready(function() {
$('#SignIn').bind('click', function() {
alert('hi');
});
});
对于 jQuery 1.7+,
$(document).ready(function() {
$('#SignIn').on('click', function() {
alert('hi');
});
});
此外,从 jQuery 1.7 开始,.on()
方法是将事件处理程序附加到文档的首选方法。
关于javascript - jQuery 简单按钮绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25685033/