我试图理解jQuery中的事件绑定。我写了一个简单的代码如下:
<html>
<script language="javascript" src="jquery.js"></script>
<body>
<form>
<input type="button" name="bu1" value="click me">
</form>
</body>
<script language="javascript">
jQuery("input[type='button']").bind('click',alert('Hello'));
</script>
</html>
当我运行页面时,警报会在加载时发生,而不是在我单击按钮时发生。任何人都可以帮我理解我哪里错了吗?
答案 0 :(得分:3)
jQuery("input[type='button']").bind('click', function () {
alert('Hello');
});
你需要传递一个函数,而不是调用它。所以在上面的代码中我添加了一个调用alert的匿名函数。
答案 1 :(得分:0)
你应该将函数作为第二个参数传递
jQuery("input[type='button']").bind('click', function() {
alert('Hello')
});
否则,javascript运行alert('Hello')
以获取bind
函数的第二个参数的值,以便在窗口中显示警报。
答案 2 :(得分:0)
<script language="javascript">
jQuery(function(){
jQuery("input[type='button']").bind('click',function(){
alert('Hello')
})
})
</script>
在里面做
Jquery(function(){
})
并编辑
jQuery("input[type='button']").bind('click',function(){
alert('Hello')
})
答案 3 :(得分:0)
是的,将它包装在一个函数中,我也会添加event.preventDefault():
jQuery("input[type='button']").bind('click', function(e) {
e.preventDefault();
alert('Hello');
});
罗布