【发布时间】:2012-02-07 23:40:50
【问题描述】:
我有一个 HTML 表单:
<div id="dialog" class="event-dialog" title="Create Event">
<div id="dialog-inner">
<table>
<tr><td align="left">Event Name:</td><td align="left"><input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all title"></td></tr>
<tr><td align="left" valign="top">Event Description:</td><td><textarea name="description" id="description" class="text ui-widget-content ui-corner-all" rows="3" cols="40"></textarea></td></tr>
<tr><td align="left">All Day Event:</td><td align="left"><input id="all-day" type="checkbox" value="false"></td></tr>
</table>
</div>
</div>
我还有以下 jQuery 代码:
jQuery("#dialog").dialog({
autoOpen: false,
height: 600,
width: 700,
modal: true,
buttons: {
'Create event': function () {
name = jQuery("#name").val();
jQuery(this).dialog('close');
},
Cancel: function () {
jQuery(this).dialog('close');
}
},
close: function () {
}
});
我在我的 jQuery 代码中删除了一些东西,只是为了缩短 StackOverflow 的代码。该代码适用于 Chrome、Firefox、Safari 等,但由于某种原因,它仅在 IE8 中显示对话框形式。知道为什么它不会在 IE8 中隐藏表单吗?
【问题讨论】:
-
IE 8 不会在加载时隐藏它或在对话框中单击按钮时将其关闭?
-
@jk。它不会在加载时隐藏它
-
我在 IE8 和更早版本中也遇到了这个问题,当通过
$('<div></div>).appendTo(document.body)插入dialog的元素时,它通过普通 JS 解决:var box = document.createElement('div'); document.body.appendChild(box);
标签: jquery internet-explorer jquery-ui dialog modal-dialog