-4

你好,我刚刚编写了一个简单的代码,因为我正在学习 jquery,这是代码

$(document).ready(function(){
  $('input[type="file"]').live({
    change : function(){
      alert('ok');
    }
  });
});

但它不想工作有什么问题?

4

4 回答 4

1

jQuerylive() 文档指出:

从 jQuery 1.7 开始,不推荐使用 .live() 方法。使用 .on() 附加事件处理程序。旧版本 jQuery 的用户应该使用 .delegate() 而不是 .live()。

使用on()文档)绑定你的事件(如果元素不是动态添加的):

$('input[type="file"]').on('change',function (){
   //Stuff
});

注意:这与$('input[type="file"]').change()

如果你曾经live()将函数绑定到动态添加的 DOM 元素,你应该on()像这样使用:

$(document).on('change', 'input[type="file"]', function (){
   //Stuff
});
于 2013-03-20T17:36:14.593 回答
1

不推荐使用 live 试试这个:

演示

$(document).ready(function(){
     $(document).on('change','input[type="file"]',function(){
         alert('ok');
     });
});
于 2013-03-20T17:33:20.833 回答
0

.live()自 jQuery 1.9 起已被删除
尝试$('input[type="file"]').change(function() { ... })改用

于 2013-03-20T17:33:36.103 回答
0

您可以使用 .on().live() 已弃用。

$(document).ready(function(){
 $(document).on('change','input[type="file"]',function(){
     alert('ok');
 });
});
于 2013-03-20T17:33:48.990 回答