jQuery jquery-1.7.1.min.js live()不赞成使用on()

来自jQuery网站:

从jQuery 1.7开始,不推荐使用.live()方法。 使用.on()附加事件处理程序。

在版本1.7.1中,我试图将我的所有live()更改为on(),但没有一个工作。 有谁知道为什么?


这就是它被调用的方式:

 

这是一个不起作用的脚本:

 $(".toBeSaved [col=ISRC] input").on('change',function() { var pid = $(this).parent().parent().attr('primary_key'); $("[primary_key="+pid+"] [col=isrc_id] input").val(''); $("[primary_key="+pid+"] [col=isrc_id] input").css({'border':'1px solid red','background-color':'#e8b7cf'}); }); 

HTML:

     

我可以问 – 为什么“-1”? 我的问题究竟出了什么问题?

将代码从使用.live转换为.on不仅仅是用.on调用替换对.live调用。 它们接受不同的参数,并在不同的选择器上调用。 例如,旧语法:

 $('a').live('click', function () {}); 

使用.on

 $(document).on('click', 'a', function () {}); 

此语法为您提供更好的控制和灵活性。

我建议阅读文档: http : //api.jquery.com/on/

有关从.live转换为.on信息: http : .on

具体到提交的代码,按照上面的乱码;

更换

 $(".toBeSaved [col=ISRC] input").on('change',function() { 

  $(document).on('change','.toBeSaved [col=ISRC] input', function() {