Javascript PHP5之后脚本停止工作>;PHP7.2?

Javascript PHP5之后脚本停止工作>;PHP7.2?,javascript,php,Javascript,Php,我最近遇到了这个问题,我不知道是什么引起的。这个脚本使我的wp自定义分类列表像一个树的手风琴菜单,但这个脚本坏了-我必须通过网站的一个成员找到 我在更新网站方面走得太远了,无法让时间倒流。然而,我做的一件大事是在服务器上从PHP5升级到PHP7.2,所以我不确定这是否破坏了它。下面是有问题的脚本: <script> function addExpandCollapse(id, expandSym, collapseSym, accordion) {jQuery('#' + id +

我最近遇到了这个问题,我不知道是什么引起的。这个脚本使我的wp自定义分类列表像一个树的手风琴菜单,但这个脚本坏了-我必须通过网站的一个成员找到

我在更新网站方面走得太远了,无法让时间倒流。然而,我做的一件大事是在服务器上从PHP5升级到PHP7.2,所以我不确定这是否破坏了它。下面是有问题的脚本:

<script>
function addExpandCollapse(id, expandSym, collapseSym, accordion)  {jQuery('#' + id + ' .expand').live('click', function() {
if (accordion==1) {
  var theDiv =        jQuery(this).parent().parent().find('span.collapse').parent().find('div');
  jQuery(theDiv).hide('normal');
    jQuery(this).parent().parent().find('span.collapse').removeClass('collapse').addClass('expand');
    createCookie(theDiv.attr('id'), 0, 7);
}
jQuery('#' + id + ' .expand .sym').html(expandSym);
expandCat(this, expandSym, collapseSym);
return false;
  });
jQuery('#' + id + ' .collapse').live('click', function() {
collapseCat(this, expandSym, collapseSym);
return false;
});
}
</script>

函数addExpandCollapse(id,expandSym,collapseSym,accordion){jQuery('#'+id+'.expand').live('click',function()){
如果(手风琴==1){
var theDiv=jQuery(this.parent().parent().find('span.collapse').parent().find('div');
jQuery(theDiv.hide('normal');
jQuery(this).parent().parent().find('span.collapse').removeClass('collapse').addClass('expand');
createCookie(theDiv.attr('id'),0,7);
}
jQuery('#'+id+'.expand.sym').html(expandSym);
expandCat(this,expandSym,collapseym);
返回false;
});
jQuery('#'+id+'.collapse').live('click',function(){
collapseCat(this,expandSym,collapseym);
返回false;
});
}
Safari上显示的错误

TypeError:undefined不是函数(靠近“…jQuery(“#”+id+“.expand”).live…)


但是这个错误在那时从未发生过,所以我不确定代码是否与PHP7.2兼容。我对PHP真的很陌生,对Javascript也是个相当好的学生。有什么建议吗?

尝试将.live('click')更改为.on('click')

这是js,与您的php版本无关。Tim是对的,在提供的代码中只有Javascript内容。也许在您的代码中有一个地方JS与php响应交互?如果是,请显示您的代码。您是否也升级了jQuery?因为我注意到这段代码使用了jQuery1.9中删除的内容。多亏了@IMSoP,我才找到了答案。我安装了一个插件,该插件禁用了jquery迁移,这就是为什么.live不再工作的原因。谢谢就是这样。谢谢乌卢格贝克!对不起,只是仔细检查了一下。错误现在消失了,但是有了这个,树的第三级现在不会打开,而是只打开分类法。通常,它会在链接之前打开所有3级的子类别。我只是想弄清楚.live做了什么,而不是.on.live()在1.7版本之后被弃用。jQuery 1.7+需要使用.on()或.bind()