jQuery change()与1.3.2中的live()

时间:2010-05-19 13:58:43

标签: jquery live

我有一个<select>元素,我需要使用change()来跟踪。

jQuery('.dropdown').change(function(){  

yada, yada

});

完全适用于已创建的元素。但是,如果我动态创建<select>,它(显然)不起作用。现在,我坚持使用jQuery 1.3.2(长篇故事),所以如果我使用类似的东西:

jQuery('.dropdown').live('change', function(){  

 yada, yada

});

不起作用。

那么,有什么想法吗?如何使用动态创建的元素来完成这项工作?

3 个答案:

答案 0 :(得分:2)

这有效:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>Test</title>
  <script type="text/javascript" src="http://code.jquery.com/jquery-1.3.2.min.js"></script>
  <script type="text/javascript">
   $(function() {

    $('select').live('change', function(){

     alert(this.value);

    });

   });
  </script>
 </head>
 <body>
  <form>
   <p>
    <select name="numeros">
     <option value="0">cero</option>
     <option value="1">uno</option>
     <option value="2">dos</option>
    </select>
   </p>
  </form>
 </body>
</html>

答案 1 :(得分:1)

使用jQuery 1.4.2 $('select').live('change', function(){ 适用于FF,Safari,Opera,但不适用于IE

答案 2 :(得分:0)

live()不支持AFAIK,onchange事件尝试使用livequery plugin