【发布时间】:2015-02-06 00:03:54
【问题描述】:
我有几个不同文章的“立即购买”按钮。当按钮具有“售罄”类时,它不应该做任何事情,否则它应该打开一个 jQuery Magnific Popup。这通常有效,但由于我使用事件处理程序“Click”而不是“mousedown”,因此仅在第二次单击后才会打开华丽的弹出窗口。我不知道如何解决它。我猜是因为初始化什么的,但我不明白。
我的 HTML:
<a href="payment_options.php" class="btn-1 ajax-popup" data-region="EUW" data-packageid="1" style="display: inline-block;">Purchase Now</a>
我的 JQuery:
$('.open-popup-link').magnificPopup({
type:'inline',
midClick: true,
mainClass: 'mfp-fade'
});
$('.ajax-popup').click(function(e){
e.preventDefault();
if($(this).hasClass("sold-out")) {
return false;
}
var region = $(this).data('region');
var quantity = $(this).data('quantity');
if(typeof quantity == 'undefined') quantity = $(this).parent().find('select').val();
var packageid = $(this).data('packageid');
$(this).magnificPopup({
type: 'ajax',
ajax: {
settings: {
data : {
region : region,
quantity : quantity,
packageid : packageid,
}
}
},
closeOnContentClick: false,
closeOnBgClick: false
});
});
JSFiddle:http://jsfiddle.net/fyLgp1yx/
正如您在此处看到的,它仅尝试第二次单击以访问 ajax 内容(这在此处当然不起作用)。
【问题讨论】:
-
试试
$('.ajax-popup').each('click', function(e){ ... }); -
这正在破坏我的宏伟弹出窗口。它只是试图访问html元素中声明的链接。
标签: javascript jquery html magnific-popup