Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 改变模态闭合行为_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 改变模态闭合行为

Javascript 改变模态闭合行为,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我得到了一份令人欣慰的工作,调试一年前离开我公司的人的代码。我是jquery的新手,我正在努力完成手头的任务 该应用程序是一个商店/库存管理ASP.NET应用程序。这里有一个概述页面,列出了所有的商店。你可以编辑商店。因此,其功能是: $(document).on('click', '.js-open-edit-modal', function () { $("#EditWinkelModal").load("/Winkels/Details/"

我得到了一份令人欣慰的工作,调试一年前离开我公司的人的代码。我是jquery的新手,我正在努力完成手头的任务

该应用程序是一个商店/库存管理ASP.NET应用程序。这里有一个概述页面,列出了所有的商店。你可以编辑商店。因此,其功能是:

$(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
});