Jquery-无读切换函数

Jquery-无读切换函数,jquery,Jquery,我有旧的jquery代码(来自版本1.7.1),希望它在版本3.x上开始工作 试图更改它,但有点失败:live()与标准的不同(“click”,function(){…})因为live()保留事件,这意味着动态添加的元素仍将遵循此处理程序。只需像代码中那样在上使用,就可以将事件附加到尚不存在的元素上 幸运的是,on()允许我们使用,它实际上将事件附加到不变的父级,从而为动态添加的元素保留事件。请尝试以下方法: //YOUR OLD CODE $(this).find('.readless').l

我有旧的jquery代码(来自版本1.7.1),希望它在版本3.x上开始工作

试图更改它,但有点失败:
live()
与标准的
不同(“click”,function(){…})因为
live()
保留事件,这意味着动态添加的元素仍将遵循此处理程序。只需像代码中那样在
上使用
,就可以将事件附加到尚不存在的元素上

幸运的是,
on()
允许我们使用,它实际上将事件附加到不变的父级,从而为动态添加的元素保留事件。请尝试以下方法:

//YOUR OLD CODE
$(this).find('.readless').live('click', function(){

//THE NEW CODE
$(this).on('click', '.readless', function(){

这将向
$(This)
附加一个click事件,该事件仅在单击的元素与第二个参数
匹配时才会触发。readless

jQuery文档显示了如何最好地转换该事件:

$( "a.offsite" ).live( "click", function() {
  alert( "Goodbye!" ); 
});
$( document ).on( "click", "a.offsite", function() {
  alert( "Goodbye!" ); 
});


您的
live
事件处理程序将转换为:

$(this).on('click', '.readmore', function(){
$( "a.offsite" ).live( "click", function() {
  alert( "Goodbye!" ); 
});
$( document ).on( "click", "a.offsite", function() {
  alert( "Goodbye!" ); 
});
$(this).on('click', '.readmore', function(){