我有一个 jQuery 事件可以正常工作,直到调用警报。该函数调用服务器上的脚本,将商品(在数据库中插入一行)添加到购物车。购物车中只允许八件商品,因此当用户尝试添加第九件商品时,会向 jQuery 脚本返回一条不允许添加的消息。这是 jQuery 脚本:
jQuery(document).on('click', 'a.add.module, a.remove.module', function(e) {
if (blnProcessing == true) {
return false;
} else {
blnProcessing = true;
}
e.preventDefault();
objLink = jQuery(this);
strLink = objLink.attr('href');
if (objLink.hasClass('add')) {
objLink.text('Adding');
} else {
objLink.text('Wait');
}
jQuery.get(strLink, function(data) {
if (data.success) {
if (data.success != true) {
alert(data.success); // message that says this is not allowed -- this part stops the script from functioning further
} else {
// this part works
jQuery('#cart').load('/study-clubs/modules/cart', function(){
if (objLink.hasClass('add')) {
strNewLink = strLink.replace('add', 'remove');
objLink.attr('href', strNewLink);
objLink.removeClass('add').addClass('remove').text('Added');
} else if (objLink.hasClass('remove')) {
strNewLink = strLink.replace('remove', 'add');
objLink.attr('href', strNewLink);
objLink.removeClass('remove').addClass('add').text('Add');
}
blnProcessing = false;
});
}
} else {
alert(data.error);
blnProcessing = false;
}
}, 'json');
});
通常,对于这种行为,您使用$(document).on('click', '#someID', function() ...
. 但我已经在使用它了。所以我需要重新附加事件侦听器或其他东西。警报后如何使其正常工作?