得到错误:TypeError:$(...)。live不是函数

时间:2014-02-18 08:58:56

标签: javascript php jquery ajax

我正在尝试实现内联编辑,但我收到错误:

TypeError: $(...).live is not a function

$('#editbox').live('blur',function(){

我的代码:

<script>

    $(document).ready(function(){



        $('td.edit').click(function(e){

                        var $target = $(e.target);
            if($target.is('#editbox')){
                return;
            }                   
                                        $('.ajax').html($('.ajax input').val());
                                        $('.ajax').removeClass('ajax');

                                        $(this).addClass('ajax');
                                        $(this).html('<input id="editbox"  size="10" type="text" value="' + $(this).text() + '">');

                                        $('#editbox').select();
                         }

                          );

        $('td.edit').keydown(function(event){

   arr = $(this).attr('class').split( " " );


                                     if(event.which == 13)
                                     { 

                                        $.ajax({    type: "POST",
                                                    url:"supplier/update.php",
                                                    data: "value="+$('.ajax input').val()+"&rowid="+arr[2]+"&field="+arr[1],
                                                    success: function(data){
                                                         $('.ajax').html($('.ajax input').val());
                                                         $('.ajax').removeClass('ajax');
                                                    }});
                                     }

                                  }

                          );


        $('#editbox').live('blur',function(){

                                     $('.ajax').html($('.ajax input').val());
                                     $('.ajax').removeClass('ajax');
                                    });

    });

    </script>

HTML:

3 个答案:

答案 0 :(得分:3)

听起来您使用的是jquery版本&gt; = 1.9

.live()已在版本1.7中弃用,并已在版本1.9中删除

对于版本&gt; = 1.9,您必须使用.on()来获得相同的结果。

尝试,

 $('#staticParent').on('blur' ,'#editbox' ,function(){

答案 1 :(得分:1)

使用on代替live

$('body').on('blur', '#editbox', function(){}

.live() vs .on()

答案 2 :(得分:1)

.live()在1.9或+版本

中折旧

替换为.on()

https://api.jquery.com/on/