我想防止在单击按钮并且未选中任何复选框时显示magnificPopup对话框。
这是我已经尝试过的:
$('[id$=DeleteSelectedItems]').click(function (evt) {
if ($("#datatable :checked").length == 0) {
evt.preventDefault();
$.magnificPopup.remove(); //prevent dialog popup if no checkbox selected
}
});
上面的代码正在做我想要的,除了$ .magnificPopup.remove();。不是有效的函数。
因此,尽管$ .magnificPopup.remove();阻止显示弹出窗口,(因为它破坏了JavaScript!),它不是有效的函数,并且在测试该窗口时出现错误。我已经尝试过$ .magnificPopup.destroy();和$ .magnificPopup.stop();但它们也是无效的。
非常感谢您可以为此提供的任何帮助!
最佳答案
感谢您的答复。我最终使用$ .magnificPopup.close();但是,重要的是,我将代码放到了大型弹出式窗口初始化之后。以前,我在初始化之前就拥有它。愚蠢的错误!所以我的工作jQuery是:
// initialise magnific popup
$('.open-popup-link').magnificPopup({
type: 'inline',
midClick: true
});
//don't fire the delete button if no checkbox selected in table with id of datatable
$('[id$=DeleteSelectedItems]').click(function (evt) {
if ($("#datatable :checked").length == 0) {
evt.preventDefault();
$.magnificPopup.close(); //prevent dialog popup if no checkbox selected
}
});
非常感谢您为我指明了正确的方向! :)