在调试和点击断点时,Chrome仅使用jquery.html()进行更新

时间:2014-06-22 22:02:53

标签: javascript jquery html google-chrome

我的网页上有以下代码段。当用户点击页面上的“购买”按钮时,假设暂时更改容器的内部HTML内容。

//////////
 // Add items to basket //
 //////// 
function addToBasket(pageId, itemId, produktNumber, domElem) {
        var tempHtml = $(domElem).html();
        $(domElem).html('<i class="fa fa-refresh fa-spin"></i>');
        $(domElem).attr('disabled', true);
        // Update the cart 
        updateCart('/default.aspx?id=' + pageId + '&amp;productid=' + itemId + '&amp;quantity=' + $('#antal_' + produktNumber).val() + '&amp;cartcmd=add', undefined, false, domElem);
        $(domElem).html(tempHtml);
        $(domElem).removeAttr('disabled'); }

该函数中的第二行仅在我调试时在Chrome中触发...任何人都看到了类似的问题吗?

它在IE和FF中运行得很好 - 所以我现在很困惑......

**已编辑**

好吧......所以我根据我给出的建议编辑了剧本 - 但问题仍然存在:(实际上认为ajaxComplete应该修复它,但它不会... workingElement在没有断点的情况下运行时似乎跳过.html(''); ..仅限Chrome ...

function addToBasket(pageId, itemId, produktNumber, domElem) {
    var tempHtml = $(domElem).html();
    var workingElement = $(domElem);
    workingElement.html('<i class="fa fa-refresh fa-spin"></i>');
    workingElement.attr('disabled', true);
    $(document).ajaxComplete(function(){
        workingElement.html(tempHtml);
        workingElement.removeAttr('disabled');
    });
    // Update the cart 
    updateCart('/default.aspx?id=' + pageId + '&amp;productid=' + itemId + '&amp;quantity=' + $('#antal_' + produktNumber).val() + '&amp;cartcmd=add', undefined, false, domElem);
}

2 个答案:

答案 0 :(得分:0)

安东尼·格里斯特做对了......异步电话就是问题

答案 1 :(得分:-2)

如果函数中没有包装jQuery,你需要在函数中实例化它:

function addToBasket(pageId, itemId, produktNumber, domElem) { $(function() {

    // Your Code Here

}); }