我正在我的网站上使用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()
})
}
现在,如果多次调用此函数,则每次调用该函数时都必须单击。
好,所以我知道了。问题是每个站点都具有以下功能:
smartex.modal = function () {
$('a.modal-open').click(function (e) {
e.preventDefault()
$(this).modal({
fadeDuration: 200,
closeExisting: false
})
$($(this).attr('href')).remove()
})
}
现在,如果多次调用此函数,则每次调用该函数时都必须单击。