点击按钮时,AJAX产品过滤器会触发两次。

5 浏览
0 Comments

点击按钮时,AJAX产品过滤器会触发两次。

我正在使用一个WP在线商店,并使用一个Ajax过滤插件来根据类别等过滤产品。当我点击一个类别按钮时,它会两次请求URL,就好像函数执行了两次。我用firebug控制台检查了行为-它会两次请求URL。希望能得到帮助。

0
0 Comments

问题的原因是在点击按钮时,AJAX产品过滤会触发两次。解决方法是在代码的特定部分添加event.stopPropagation();,并与event.preventDefault();函数一起使用。

解决方法如下所示:

// 处理过滤请求
$('.wcapf-ajax-term-filter').not('.wcapf-price-filter-widget').on('click', 'li a', function(event) {
    event.preventDefault();
    event.stopPropagation(); // 添加以解决问题!
    var element = $(this),
        filter_key = element.attr('data-key'),
        filter_val = element.attr('data-value'),
        enable_multiple_filter = element.attr('data-multiple-filter');
    if (enable_multiple_filter == true) {
        wcapfMakeParameters(filter_key, filter_val);
    } else {
        wcapfSingleFilter(filter_key, filter_val);
    }
});

以上就是解决此问题的原因和解决方法。

0