Javascript 为什么不是';用点击绑定jQuery?

Javascript 为什么不是';用点击绑定jQuery?,javascript,jquery,onclick,Javascript,Jquery,Onclick,为什么jQuery没有绑定到click事件?当我点击选择时,它们不会发出警报,除了我点击的那个 <html> <head> <title>Robo</title> <script type="text/javascript" src="jquery-1.4.2.min.js"></script><script type="text/javascript"> $('.changer').click(functi

为什么jQuery没有绑定到click事件?当我点击选择时,它们不会发出警报,除了我点击的那个

<html>
<head>
<title>Robo</title>

<script type="text/javascript" src="jquery-1.4.2.min.js"></script><script type="text/javascript">

$('.changer').click(function(){alert('test');});


</script>
</head>
<body>

<select class="changer" name="dept" id="dept_select">
    <option value="">Select a Department</option>
</select>

<select onclick="alert('ya');" class="changer" name="course" id="course_select">
    <option value="">Select a Course</option>
</select>
<select class="changer" name="section" id="section_select">
    <option value="">Select a Section</option>
</select>

</body>
</html>

机器人
$('.changer')。单击(函数(){alert('test');});
选择一个部门
选课
选择一个部分

您需要将代码包装到处理程序中:


因为绑定单击处理程序时,.changer元素在dom中不可用。 你可以做两件事:

使用jQuery就绪事件处理程序

 $.ready(function(){
      $('.changer').click(function(){
        alert('test');
      });
    });
或者使用live功能

$('.changer').live("click", (function(){
   alert('test');
 });

将jQuery包装到就绪事件中:

$(function() {
    $('.changer').click(function(){alert('test');});
});

您还可以使用委托函数

$('.changer').delegate('click',function(){
   alert('test'); 
 });

您必须包装语法dg.ready处理程序

<script type="text/javascript">
$(document).ready( function(){
   $('.changer').click(function(){alert('test');});
});
</script>

$(文档).ready(函数(){
$('.changer')。单击(函数(){alert('test');});
});

它是一种用于指定DOM完全加载时要执行的函数的方法。

噢,我真傻,竟然忘了ready。已经有一段时间了。谢谢,我投票给每个人,我会接受你的答案
<script type="text/javascript">
$(document).ready( function(){
   $('.changer').click(function(){alert('test');});
});
</script>