【发布时间】:2014-06-22 22:02:53
【问题描述】:
我的网页中有以下 sn-p。假设当用户单击页面上的“购买”按钮时,会临时更改容器的内部 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 + '&productid=' + itemId + '&quantity=' + $('#antal_' + produktNumber).val() + '&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 + '&productid=' + itemId + '&quantity=' + $('#antal_' + produktNumber).val() + '&cartcmd=add', undefined, false, domElem);
}
【问题讨论】:
-
也许这个Link会帮助你
-
看起来
updateCart可能是一个异步函数,所以$(domElem).html(tempHtml);将立即执行;它不会等到任何异步操作updateCart启动完成。
标签: javascript jquery html google-chrome