按钮不适用于firefox中的jquery事件

时间:2014-02-23 15:30:02

标签: jquery html firefox

这个跨浏览器的事情让我发疯了。我对页面上的每个按钮元素都有以下标记。

<button type="button" id="btn-cart-3939" title="Add to Cart" class="button">
    <span pro-id="3939" class="prod-cart-reduce" style="display:none;">-</span>
    <span class="btn-cart" max-qty="4" pro-id="3939">
        <span class="prod-cart-qty">+</span>
        <span>Add to Cart</span>
    </span>
</button>

和jquery中添加到购物车的相应代码是:

jQ('.btn-cart').click(function(){
    var maxQty = parseInt(jQ(this).attr('max-qty'));
    var currQty = jQ(this).children().first().text();
    if(jQuery.inArray( '+', currQty )!=(-1)){
        var id = jQ(this).attr('pro-id');
        spill2('product_addtocart_form_'+id);
        jQ(this).children().first().text('1').fadeIn();
        jQ(this).siblings().css({'display':''});
    }
    else{
        currQty = parseInt(currQty);
        if(currQty === maxQty){
            var k = jQ(alertBox).clone().addClass('alertBox');
            jQ('body').append(jQ(k));
            jQ('.alertBox #alert-message').html('Sorry, WE have limited stock of this item.');
            jQ('.alertBox').css({margin:'0 5%'}, function(){}).delay(2000).fadeOut('slow', function(){jQ(this).remove()});
        }
        else{
            var id = jQ(this).attr('pro-id');
            spill2('product_addtocart_form_'+id);
            currQty = currQty + 1;
            jQ(this).children().first().text(currQty).fadeIn();
        }           
    }

现在,这段代码就像chrome中的魅力一样,但在firefox中,没有任何事情发生,并且firebug也没有错误。还有一件事是,所有其他jquery代码在firefox中也运行良好。 谁能告诉我,我在这里做了什么可怕的错误? 非常感谢提前。


P.S。还有一件事,当我从button元素中删除type属性时,它会开始抛出2个事件,不必要地执行最后一个其他部分。

0 个答案:

没有答案