页面加载时需要打开一个 jquery-ui 对话框。相关代码在两个文件中。
**FileA**
$(function()
{
//some initialization code here
$("#date-range-dialog").dialog({
modal: true,
autoOpen: false,
buttons:
{
"Ok": function()
{
//some code here
}
}
});
});
**FileB**
$(function()
{
//some code
$('#date-range-dialog').dialog('open');
});
这适用于 Chrome 和 Firefox。但是对于 IE9,打开的对话框事件/语句会导致浏览器将显示切换到兼容性视图。
对话框的标记是:
<div id="date-range-dialog" title="Date Range">
<div class="form-horizontal">
<div class="control-group">
<label class="control-label">From</label>
<div class="controls">
<input type="text" id="dt-from" class="input-small" />
</div>
</div>
<div class="control-group">
<label class="control-label">To</label>
<div class="controls">
<input type="text" id="dt-to" class="input-small" />
</div>
</div>
</div>
</div>
该应用程序使用 Twitter Bootstrap 2.0.4、jQuery 1.8.3、jQuery UI 1.9.2。目前没有手动 CSS。
一个奇怪的观察是,如果打开对话框的语句被注释掉,它在 IE9 中也可以工作。如果有调用此语句的按钮,则一切正常:
$(".date-range").click(function()
{
$("#date-range-dialog").dialog("open");
});
因此,只有在尝试直接在其中打开对话框时才会出现问题$(function(){});
我也尝试在$(window).load()
事件中放置对话框打开语句。它在 IE9 中仍然失败。