我正在一个新项目上使用Twitter Bootstrap lib,我想要部分页面刷新并检索模态关闭时的最新json数据.我在文档中的任何地方都没有看到这个,有人可以指出它或建议解决方案.
使用记录的方法有两个问题
$('#my-modal').bind('hide', function () {
// do something ...
});
Run Code Online (Sandbox Code Playgroud)
我已经将"隐藏"类附加到模态,因此它不会在页面加载时显示,因此会加载两次
即使我删除了hide类并将元素id设置为display:none并且console.log("THE MODAL CLOSED");在我点击时添加到上面的函数也没有任何反应.
当我点击另一个打开模态中的按钮时,我想打开一个新的Bootstrap模态.它工作正常,但问题是body标签的'modal-open'类只是消失了,所以会出现整个页面的滚动.
当我单击模态中的按钮时,在代码隐藏中我执行此操作:
ScriptManager.RegisterStartupScript(upMain, typeof(UpdatePanel), "Tipo descuento seleccionado", "$('#DtosModal').modal('show'); $('#tipoDtoModal').modal('hide');", true);
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能将该类保留在body标签中?
非常感谢你!
编辑:如果我改变
$(document)
.on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
.on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
Run Code Online (Sandbox Code Playgroud)
在bootstrap.js中
$(document)
.on('show.bs.modal', '.modal', function () { document.body.className += ' modal-open'; })
.on('hidden.bs.modal', '.modal', function () { document.body.className = document.body.className.replace(" modal-open", ""); })
Run Code Online (Sandbox Code Playgroud)
我解决了这个问题.还有其他更"正统"的想法吗?