【发布时间】:2009-04-27 17:06:26
【问题描述】:
我刚开始使用 jqModal,因为我需要对嵌套模式的支持。我注意到嵌套模式和 AJAX 的一些不稳定行为,但我不知道如何修复它。发生的情况是,当我加载其中有一个嵌套模式的主模式时,我得到了两个 jqmOverlay div,这就像它为两个模式应用了覆盖,即使尚未触发嵌套的一个。因此,当我关闭模式时,仍然会显示一个叠加层。代码如下:
// Main Modal
$(function(){
$("#modal").jqm({ajax:'@href'});
});
<a class="label jqModal" href="/suppliers/2/edit">View Supplier</a>
// Nested Modal code fragment within the /suppliers/2/edit html
$(function(){
$("#nested_modal").jqm({ajax:'@href', zIndex:3001});
})
<a class="button jqModal" href="/suppliers/6/bills/new">Add Bill</a>
它似乎第一次工作,但如果我关闭主模式,然后再次打开,我会遇到双重覆盖问题。这是一个错误吗?还是我调用嵌套模式的方式?另外,我知道它与嵌套模式有关,因为当我删除嵌套模式上的 jqm 调用时,主模式每次都能正常工作。
【问题讨论】:
-
可能是您没有正确关闭嵌套模式?您是否使用自定义“关闭”功能?每次关闭时,jqmOverlay div 都应该在 DOM 中销毁。
-
我正在使用标准 取消
-
我认为无论如何更重要的是找出为什么要创建两个叠加层。我可以看到它们都被附加在萤火虫中。此外,由于两个叠加层的不透明度为 50%,我实际上可以看到叠加层 bg 颜色的差异