在一个非常简单的jQuery模态框中,我通过点击“CLOSE”来关闭模态框
$('#close').click(function(e) {
e.preventDefault();
$('#overlay, #alertModalOuter').fadeOut(400, function() {
$(this).remove();
});
});
我如何通过单击关闭按钮(位于模态窗口内部)或单击模态窗口外部的任何位置来关闭模态窗口。
在一个非常简单的jQuery模态框中,我通过点击“CLOSE”来关闭模态框
$('#close').click(function(e) {
e.preventDefault();
$('#overlay, #alertModalOuter').fadeOut(400, function() {
$(this).remove();
});
});
我如何通过单击关闭按钮(位于模态窗口内部)或单击模态窗口外部的任何位置来关闭模态窗口。
将您的函数更改为以下内容应该可以正常工作:
$('#close, #overlay').click(function(e) {
e.preventDefault();
$('#overlay, #alertModalOuter').fadeOut(400, function() {
$('#close').remove();
});
});
我发现包括以下内容很有帮助:
$('.item-modal').click(function(e) {
e.stopPropagation();
});
我知道这个问题涉及到jQuery,但是以下是我在Vue中对我的模态组件所做的操作,以防有人发现它有用。我的模态HTML基本上是直接从这里提取的:https://v2.vuejs.org/v2/examples/modal.html
我设置了两个@click
属性,一个在最外层的模态元素(modal-mask
)上调用我的close()
方法(该方法会向父组件发出close
事件),另一个在实际的模态窗口元素(modal-container
)上使用.stop
事件修饰符(@click.stop
)来阻止点击冒泡到父元素(modal-mask
)。非常好用。
#overlay
元素上。 - user971401