jQuery SlideToggle() 在 FireFox 中不起作用,在 Chrome 中工作

jQuery SlideToggle() Not Working in FireFox, Works in Chrome

本文关键字:不起作用 Chrome 工作 FireFox SlideToggle jQuery      更新时间:2023-09-26

我的代码是这样的:

jQuery('.cart-module .cart-heading').bind('click', function() {
    if (jQuery(this).hasClass('active')) {
        jQuery(this).removeClass('active');
    } else {
        jQuery(this).addClass('active');
    }
    jQuery(this).parent().find('.cart-content').slideToggle('slow');
});
//--></script> 

您可以通过像这样快速将产品添加到购物车 https://muddydogcoffee.com/teas/176-organic-crimson-berry-fruit-tisane?device=iphone 并转到购物车来自己测试它 此处 https://muddydogcoffee.com/shopping-cart.

当您单击"估计运费和税费"时,它应该在其下方显示DIV。 但是,它仅适用于Chrome,而不适用于Firefox。 我该怎么做才能解决这个问题?

谢谢。

我以前遇到过同样的问题,我真的不明白为什么会发生这种情况,但我找到了解决方法。

不确定它是否也适用于您,但我所做的是我删除了样式表中的显示:none ,只是将其内联添加到 html 中。

如果有人能解释这种奇怪的行为,那将非常有帮助。

添加event.preventDefault();event.stopPropagation();,以便在包括 Firefox 在内的所有浏览器中工作。请参阅下面的代码片段:

jQuery('.cart-module .cart-heading').bind('click', function(e) {
    e.preventDefault();
    e.stopPropagation();
    if (jQuery(this).hasClass('active')) {
        jQuery(this).removeClass('active');
    } else {
        jQuery(this).addClass('active');
    }
 jQuery(this).parent().find('.cart-content').slideToggle('slow');
});

你试过吗

$(document).ready(function() {
   // put all your jQuery goodness in here.
 });