Javascript 改变模态闭合行为
我得到了一份令人欣慰的工作,调试一年前离开我公司的人的代码。我是jquery的新手,我正在努力完成手头的任务 该应用程序是一个商店/库存管理ASP.NET应用程序。这里有一个概述页面,列出了所有的商店。你可以编辑商店。因此,其功能是:Javascript 改变模态闭合行为,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我得到了一份令人欣慰的工作,调试一年前离开我公司的人的代码。我是jquery的新手,我正在努力完成手头的任务 该应用程序是一个商店/库存管理ASP.NET应用程序。这里有一个概述页面,列出了所有的商店。你可以编辑商店。因此,其功能是: $(document).on('click', '.js-open-edit-modal', function () { $("#EditWinkelModal").load("/Winkels/Details/"
$(document).on('click', '.js-open-edit-modal', function () {
$("#EditWinkelModal").load("/Winkels/Details/" + $(this).data("id"), function () {
$("#modal-winkel-edit").modal();
});
});
打开一个模态。到目前为止还可以。问题是当用户关闭模式时。这可以通过按右上角的“X”、按escape、单击模式外部或按按钮(定义为)来完成
<button type="button" class="c-btn c-btn--secondary" modal-close>Annuleer</button>
但这只解决了按钮的问题。所有其他关闭选项(如上所述)仍存在问题。现在我正在寻找一种覆盖这个close-modal
方法的方法
我应该怎么做,或者有更好的解决方案吗?看起来您正在使用
jQuery model
,jQuery model
有一个事件列表,这些事件会被某些操作触发。您可以侦听模式关闭时触发的事件
$.modal.AFTER_CLOSE = 'modal:after-close';
// Fires after the modal has fully closed (including animations).
并在调用此事件时从DOM中删除模式
$('#example-modal').on($.modal.AFTER_CLOSE, function(event, modal) {
modal.remove(); // <-- delete the modal from the DOM
});
$('#示例模态')。打开($.modal.AFTER_CLOSE,function(事件,模态){
modal.remove();//我建议改变方法-不要每次都加载整个.modal
,而是放一个“shell”启动时在页面上显示一个模态,然后只将模态内容放入。模态正文
-这样,您只需显示/隐藏一个模态,当您编辑第二项时,它会覆盖。模态正文
中的第一项,因此您永远不会发生冲突。这种方法适用于引导模态,但不清楚是什么模态插件/f您正在使用的框架,因此它可能不是一个选项。谢谢!我必须将其更改为$(文档)。在($.modal.AFTER_CLOSE,#modal winkel edit,#函数(){
和modal.remove();
上,您没有为我做任何事情,但您为我指明了正确的方向。
$.modal.AFTER_CLOSE = 'modal:after-close';
// Fires after the modal has fully closed (including animations).
$('#example-modal').on($.modal.AFTER_CLOSE, function(event, modal) {
modal.remove(); // <-- delete the modal from the DOM
});