以下代码在Firefox,Chrome和Opera中生成预期的jQueryUI模式弹出对话框。但是,它在Internet Explorer 9中失败:
<html><head>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
$( "#AddUser" ).dialog({
autoOpen: false, modal: true, height: 'auto', width: 400,
buttons: {
"Add": function() {
alert("Add one!");
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( "#AddUserButton" ).button().click(function(event) {
event.preventDefault();
$( "#AddUser" ).dialog( "open" );
});
});
</script>
</head><body>
<div id="AddUser" title="Add User">Popup content here</div>
<input type="submit" id="AddUserButton" />
</body></html>
在IE 9中,#AddUser div不是jQueryUI对话框。有什么我想念的吗?
编辑:代码已更新,更接近生产代码。
感谢。
答案 0 :(得分:10)
你的问题是尾随“,”IE不喜欢它
$( "#AddUser" ).dialog({
autoOpen: false, modal: true >>,<<
});
这将有效:
$( "#AddUser" ).dialog({
autoOpen: false, modal: true
});
答案 1 :(得分:5)
尝试在html文件中添加DOCTYPE。 <!DOCTYPE HTML>
答案 2 :(得分:1)
好的,这只是一个猜测,但是类型=“提交”有时候很奇怪...
你尝试过:<button id="AddUserButton">AddUser</button>
我也会将“preventDefault”称为动作监听器中的最后一个动作。
答案 3 :(得分:0)
我在对话框中遇到了同样的问题,并在css文件中添加以下内容为我完成了这项工作。
.ui-widget-overlay
{
z-index: 0 !important;
}