【问题标题】:Uncaught TypeError: jQuery(...).live is not a function when editing Woocommerce productUncaught TypeError: jQuery(...).live 不是编辑 Woocommerce 产品时的函数
【发布时间】:2021-01-16 11:49:17
【问题描述】:

我有一个使用 Woocommerce 销售产品的网站。商店运行良好,直到我更新到 Wordress 5.5

现在,每当我编辑产品时,帖子编辑器中的几个元素都不起作用。我无法删除精选图片,也无法使用“文本”选项卡编辑帖子。此外,当我点击设置特色图片时,它会打开一个新标签(让我远离帖子编辑器),其中包含一个看起来很古老的特色图片页面。

我查看了控制台,我收到了这个错误:

 Uncaught TypeError: jQuery(...).live is not a function
      at HTMLDocument.<anonymous> (post.php?post=28000&action=edit:1636)
      at i (jquery.js?ver=1.12.4-wp:2)
      at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4-wp:2)
      at Function.ready (jquery.js?ver=1.12.4-wp:2)
      at HTMLDocument.J (jquery.js?ver=1.12.4-wp:2)

但是,堆栈跟踪并没有告诉我太多。以下是堆栈跟踪中的路径:

第一行:https://sitename.com/wp-admin/post.php?post=28000&action=edit

第二、三、四、五行:https://sitename.com/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp

所以堆栈跟踪指向 Wordpress 包含的 jquery.js。这并没有告诉我太多,因为我的 Wordpress 版本是最新的 5.5。根据堆栈跟踪,我似乎无法弄清楚问题出在哪里,所以我不知道从哪里修复这个 jQuery 的折旧错误。

我能做些什么来解决这个问题吗?我试过使用这个插件并解决了这个问题:https://wordpress.org/plugins/enable-jquery-migrate-helper/

不过,这只是临时修复,所以我不想使用这种方法。

【问题讨论】:

  • 请在页面post.php?post=28000&amp;action=edit的第1636行包含代码。

标签: jquery woocommerce wordpress-5.5


【解决方案1】:

来自 jQuery .live() 函数documentation

注意:这个 API 在 jQuery 1.9 中被移除了;请改用 on()。

可能 jQuery 与 WordPress 一起更新,并且该功能已被弃用。

【讨论】:

  • 谢谢,我知道该功能已被贬值,我只是想知道如何解决这个问题,当堆栈跟踪指向 Wordpress 中的 jquery 安装时。
【解决方案2】:

我必须找到站点文件中使用 .live() 的所有地方,并替换为 .on()。这解决了问题!

【讨论】:

    猜你喜欢
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    相关资源
    最近更新 更多