以管理员身份登录时,jQuery无法正常工作

时间:2018-08-30 10:36:27

标签: jquery wordpress woocommerce

每当客户修改商品数量时,我都试图进行自动购物车更新。当我未登录时它已经在工作,但是奇怪的是,当我登录时,该特定脚本将无法工作。

jQuery:

    var timeout;
    jQuery('div.woocommerce').on('change', 'input.qty', function(){ 
            if(typeof timeout !== undefined) clearTimeout(timeout);

        timeout = setTimeout(function() {
                jQuery("[name='update_cart']").prop("disabled", false);
                jQuery("[name='update_cart']").trigger("click"); 
        }, 1500);
    }); 

儿童主题的功能:

add_action( 'wp_enqueue_scripts', 'dp_cart_refresh_update_qty' ); 
function dp_cart_refresh_update_qty() { 
    if (is_cart()) { 
        wp_enqueue_script(
            'cart_auto_refresh',
            get_stylesheet_directory_uri() . '/js/cart_auto_refresh.js',
            array('jquery')
        );
    } 
}

发生这种情况时,没有错误控制台输出。它只是什么都不做,甚至没有触发。我尝试将console.log放在代码的某些部分上,什么也没有。

我已经使用此确切方法添加了其他几个jQuery,并且它们对于管理员和注销用户均正常工作。

感谢您的帮助。谢谢。

编辑:

我已经检查了“ update_cart”按钮,它位于购物车页面上,尽管我将其设置为显示:无

<input class="btn btn-alternative" name="update_cart" value="Update Shopping Cart" type="submit">

1 个答案:

答案 0 :(得分:1)

尝试像这样包装jQuery代码:

jQuery(function($) {
    var timeout;
    jQuery('div.woocommerce').on('change', 'input.qty', function() { 

        if (typeof timeout !== undefined) 
            clearTimeout(timeout);

        timeout = setTimeout(function() {
            jQuery("[name='update_cart']").prop("disabled", false);
            jQuery("[name='update_cart']").trigger("click"); 
        }, 1500);
    }); 
});