jQuery Modal在第三次点击时关闭

问题描述 投票:0回答:1

我正在我的网站上使用jQuery模态插件。在大多数情况下,插件都可以正常工作,但是在一个或两个地方,当我单击关闭按钮时,出于某种原因,我们需要在模型外部进行2-3次点击。

相同的动作解决了关闭模态之后,我收到2次此错误:

Uncaught TypeError: Cannot read property 'fadeOut' of null
    at o.modal.unblock (jquery.modal.min.js:5)
    at o.modal.close (jquery.modal.min.js:5)
    at HTMLAnchorElement.o.modal.close (jquery.modal.min.js:5)
    at HTMLDocument.dispatch (jquery-3.1.1.min.js:3)
    at HTMLDocument.q.handle (jquery-3.1.1.min.js:3)
    at Object.trigger (jquery-3.1.1.min.js:4)
    at HTMLAnchorElement.<anonymous> (jquery-3.1.1.min.js:4)
    at Function.each (jquery-3.1.1.min.js:2)
    at r.fn.init.each (jquery-3.1.1.min.js:2)
    at r.fn.init.trigger (jquery-3.1.1.min.js:4)

关于如何解决此问题的任何建议?

编辑:

模式关闭由以下方式触发:

$('#addressBookFrom .close-modal').trigger('click')

在onClick事件内部

body.on('click', '#addressBookTo .js-expand-parent', function (e) {
          e.preventDefault()

          // some logic ...

          $('#addressBookTo .close-modal').trigger('click')
        })
      })

编辑#2:

好,所以我知道了。问题是每个站点都具有以下功能:

smartex.modal = function () {
  $('a.modal-open').click(function (e) {
    e.preventDefault()
    $(this).modal({
      fadeDuration: 200,
      closeExisting: false
    })
    $($(this).attr('href')).remove()
  })
}

现在,如果多次调用此函数,则每次调用该函数时都必须单击。

javascript jquery modal-dialog
1个回答
0
投票

好,所以我知道了。问题是每个站点都具有以下功能:

smartex.modal = function () {
  $('a.modal-open').click(function (e) {
    e.preventDefault()
    $(this).modal({
      fadeDuration: 200,
      closeExisting: false
    })
    $($(this).attr('href')).remove()
  })
}

现在,如果多次调用此函数,则每次调用该函数时都必须单击。

© www.soinside.com 2019 - 2024. All rights reserved.