如果目标的父级具有特定的类,则仅打开magnificPopup

时间:2014-02-24 23:41:32

标签: jquery jquery-plugins magnific-popup

我有以下弹出窗口初始化:

$('.notcheckedin .checkinbtn').magnificPopup({
  type: 'inline',
  preloader: false,
  focus: '#checkin-code',
  callbacks: {
    ...etc...
  }
}
<div class="exhibitor notcheckedin">
  <div class="checkinbtn"></div>
  ...
</div>

弹出位工作正常。但是,当我从父div中动态删除Class('notcheckedin')时,它仍会打开弹出窗口。如果目标的父类hasClass('。notcheckedin'),我只希望它打开弹出窗口。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

我明白了。我使用单个div作为弹出窗口的源代码,所以一看到open()和items选项就很容易了。以下对我有用:

$(document.body).on('click', '.notcheckedin .checkedinbtn', function(e) {
  var target = $(this);
  $.magnificPopup.open({
    items: {
      src: '#checkin-code-popup',
      type: 'inline'
    },
    preloader: false,
    callbacks: {
      ...
    }
  });
});

单击.checkedinbtn时会打开弹出窗口,但是当它的父项是.notcheckedin时,