【问题标题】:jQuery - Uncaught TypeError: Cannot read property 'defaults' of undefinedjQuery - 未捕获的类型错误:无法读取未定义的属性“默认值”
【发布时间】:2025-12-04 14:00:01
【问题描述】:

我已经在网上搜索了好几天,但没有找到任何地方。 我在这里看到过类似的帖子,并且大致了解问题所在,但不知道如何自己解决。

我客户的子主题 WP Bakery 和 WooCommerce 之间存在冲突。在客户详细信息下的结帐页面上,当国家/地区更改时,税款应自动更新(目前,它设置为仅适用于澳大利亚客户的税款)。 当我将其更改为另一个国家/地区时,它不会自动更新,并且我在检查工具中收到此错误消息。

Uncaught TypeError: Cannot read property 'defaults' of undefined
    at HTMLDocument.<anonymous> (checkout.min.js?ver=4.3.1:1)
    at j (jquery.js:3148)
    at Object.fireWith [as resolveWith] (jquery.js:3260)
    at Function.ready (jquery.js:3472)
    at HTMLDocument.J (jquery.js:3503)

这是我目前使用的临时域:http://shannonp12.sg-host.com/checkout/

下面是第 5 行的问题所在的 sn-p (checkout.min.js?ver=4.3.1:1)

jQuery(function(g) {
    if ("undefined" == typeof wc_checkout_params)
        return !1;
    var v = {
        updateTimer: !(g.blockUI.defaults.overlayCSS.cursor = "default"),
        dirtyInput: !1,
        selectedPaymentMethod: !1,
        xhr: !1,
        $order_review: g("#order_review"),
        $checkout_form: g("form.checkout"),
        init: function() {

我希望这些信息已经足够了,如果我需要提供更多信息,请告诉我。 提前致谢!

遵循 Emre 指令

也许是这样的? updateTimer: !(g.blockUI && g.blockUI.defaults.overlayCSS.cursor == "default"),.它在检查光标之前检查 g.blockUI 是否存在

现在得到这个

Uncaught TypeError: g(...).block is not a function
    at update_checkout_action

指向这个...

                g(".woocommerce-checkout-payment, .woocommerce-checkout-review-order-table").block({

【问题讨论】:

  • 显然g.blockUI是未定义的,当时做这个赋值也没有多大意义,你不能把这行去掉吗?
  • 可能是这样的? updateTimer: !(g.blockUI &amp;&amp; g.blockUI.defaults.overlayCSS.cursor == "default"),。它在检查光标之前检查g.blockUI 的存在。
  • 谢谢 Emre,我刚刚编辑了原始帖子。
  • @ShannonPayne 看起来这个插件有点缺少 jquery.malsup.com/block/#element 或未配置为与 g 作为 Jquery 一起使用
  • @johnSmith 我去看看,谢谢

标签: javascript jquery wordpress woocommerce


【解决方案1】:

我遇到了同样的问题。在调试了几个小时后,我发现我在 header.php 中链接了 jquery.mim.js。当我删除它时,woocomerce 的优惠券代码和其他功能就可以完美运行。

【讨论】:

    最近更新 更多