Support » Plugin: WooCommerce Debug Bar » jQuery Error with WooCommerce Debug Bar

  • Resolved nightbook

    (@nightbook)


    Hello,
    I’m finding in my inspect console the following error:
    [Error] TypeError: ‘undefined’ is not a function (evaluating ‘$(‘#wc-debug-bar-show-products’).live’)
    (anonymous function) (woocommerce-debug-bar.js, line 5)
    f (jquery.min.js, line 1)
    fireWith (jquery.min.js, line 1)
    ready (jquery.min.js, line 1)
    xt (jquery.min.js, line 1)

    It’s associated with the following code found in woocommerce-debug-bar.js
    $(‘#wc-debug-bar-show-products’).live(‘click’, function() {
    $(‘#wc-debug-bar-show-products’).hide();
    $(‘#wc-debug-bar-hide-products’).show();
    $(‘#wc-debug-bar-products’).show(‘fast’);
    return false;
    });

    Appreciate any thoughts,
    Thanks

    https://wordpress.org/plugins/woocommerce-debug-bar/

Viewing 3 replies - 1 through 3 (of 3 total)
  • I was able to track this down to the live function no longer being supported by jquery:
    https://api.jquery.com/live/
    As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().

    I’ve updated the woocommerce-debug-bar.js code to utilize the on() event handler, below is the updated code:
    jQuery( document ).ready( function( $ ) {
    $(‘#wc-debug-bar-show-products’).show();
    $(‘#wc-debug-bar-products’).hide();

    $(‘#wc-debug-bar-show-products’).on(‘click’, function() {
    $(‘#wc-debug-bar-show-products’).hide();
    $(‘#wc-debug-bar-hide-products’).show();
    $(‘#wc-debug-bar-products’).show(‘fast’);
    return false;
    });

    $(‘#wc-debug-bar-hide-products’).on(‘click’, function() {
    $(‘#wc-debug-bar-hide-products’).hide();
    $(‘#wc-debug-bar-show-products’).show();
    $(‘#wc-debug-bar-products’).hide(‘fast’);
    return false;
    });

    $(‘#wc-debug-bar-show-coupons’).show();
    $(‘#wc-debug-bar-coupons’).hide();

    $(‘#wc-debug-bar-show-coupons’).on(‘click’, function() {
    $(‘#wc-debug-bar-show-coupons’).hide();
    $(‘#wc-debug-bar-hide-coupons’).show();
    $(‘#wc-debug-bar-coupons’).show(‘fast’);
    return false;
    });

    $(‘#wc-debug-bar-hide-coupons’).on(‘click’, function() {
    $(‘#wc-debug-bar-hide-coupons’).hide();
    $(‘#wc-debug-bar-show-coupons’).show();
    $(‘#wc-debug-bar-coupons’).hide(‘fast’);
    return false;
    });
    });

    Appreciate if this gets into your next update,
    Thanks

    Thanks for posting a fix! Where did you find that js file?

    Thanks @paulg000,
    The woocommerce-debug-bar.js file can be found in the plugin;
    wp-content/plugins/woocommerce-debug-bar/assets/woocommerce-debug-bar.js
    Hope that helps,
    Cheers

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘jQuery Error with WooCommerce Debug Bar’ is closed to new replies.