我的网页上有以下代码段。当用户点击页面上的“购买”按钮时,假设暂时更改容器的内部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);
}
答案 0 :(得分:0)
安东尼·格里斯特做对了......异步电话就是问题
答案 1 :(得分:-2)
如果函数中没有包装jQuery,你需要在函数中实例化它:
function addToBasket(pageId, itemId, produktNumber, domElem) { $(function() {
// Your Code Here
}); }