我有一个ASP.NET 3.5网站项目。在其中存在页面(A);在此页面中有一个<iframe>
加载另一个页面(B)。从B开始,通过此函数启动模态对话框:
function ShowDialogLookup(anchorDiv) {
// anchorDiv is div element with some data properties
var result = window.showModalDialog($(anchorDiv).data('popup-url'), window, "dialogHeight: 300px; dialogWidth: 500px");
return false;
}
免责声明:我希望能够重写一次,以便在模式模式下使用jQuery Dialog,但我只负责让它在IE9中运行。所以说...
在此弹出窗口中,显示的页面包含“确定”和“取消”按钮。 “取消”按钮只是:
<button class="lookup-cancel">Cancel</button>
为其分配一个事件来关闭模态对话框:
$('.lookup-cancel').button().click(function() {
window.close();
});
在IE9中,非兼容性视图模式,点击该按钮会导致两件事情发生:
完整窗口中的“取消”按钮现在可以正常工作,当它不再包含在模式对话框窗口中时,但是提示IE启动它的任何内容都是意外行为。
在IE9中,启用了兼容性视图模式,单击该按钮可以完全按照预期进行操作。
答案 0 :(得分:2)
我很幸运。 IE9显然关心type
的{{1}}。在这种情况下,IE9将其视为提交按钮。 “提交”的行为导致单独的页面加载到模态对话框之外。
将按钮更改为:
<button>
解决了这个问题。