Javascript 防止多次显示弹出窗口。Ajax添加结果已在DOM中注册
我很失望,因为我无法摆脱这个问题!我有一个产品视图和一个“添加到购物车”按钮。如果我单击按钮,表单将被提交(productAddToCartForm.submit(this)),并将调用以下函数:Javascript 防止多次显示弹出窗口。Ajax添加结果已在DOM中注册,javascript,jquery,Javascript,Jquery,我很失望,因为我无法摆脱这个问题!我有一个产品视图和一个“添加到购物车”按钮。如果我单击按钮,表单将被提交(productAddToCartForm.submit(this)),并将调用以下函数: var myAjaxify = function(button) { button.prop('disabled', true); if (this.validator.validate()) { $(this.form).request({ onComplete: function(re
var myAjaxify = function(button) {
button.prop('disabled', true);
if (this.validator.validate()) {
$(this.form).request({
onComplete: function(response) {
var responseData = JSON.parse(response.responseText);
if (responseData.success === 'true') {
Dialog.confirm(
responseData.message,
{
className: 'openit',
width: 385,
height: 220,
destroyOnClose: true,
id: 'ajax-add-result',
closable: true,
zIndex: 100,
title: 'Added to Your Cart',
okLabel: 'Continue Shopping',
cancelLabel: 'Proceed to Cart',
onCancel: function() {
window.location = '/checkout/cart';
},
buttonClass: 'action-btn'
}
);
...
但是需要几秒钟,弹出窗口才会出现。如果我同时多次点击“添加到购物车”按钮,弹出窗口会出现不止一次。如果我没有足够快地关闭弹出窗口,我也会得到错误“ajax添加结果已经在DOM中注册”。我试图禁用按钮($(this).prop('disabled',true);),但我的所有解决方案都破坏了脚本:(
有人能帮我吗
非常感谢您的帮助
最好的,汉内斯。取消按钮:)
加载所有内容后,您可以将事件绑定回去。您如何执行myAjaxify?您是否能够解决问题?我也面临着同样的问题,直到现在我还没有得到任何修复。请在此线程中发布您的修复。大多数人现在更喜欢.off()而不是unbind函数。你想用什么取决于你自己。
$( "#yourbutton").unbind( "click" );