为什么这个jQueryUI对话框在IE9中不起作用?

为什么这个jQueryUI对话框在IE9中不起作用?,jquery,internet-explorer,internet-explorer-9,Jquery,Internet Explorer,Internet Explorer 9,以下代码在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" /> &l

以下代码在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>

$(函数(){
$(“#添加用户”)。对话框({
自动打开:假,模态:真,高度:“自动”,宽度:400,
按钮:{
“添加”:函数(){
警告(“添加一个!”);
}
},
关闭:函数(){
allFields.val(“”.removeClass(“ui状态错误”);
}
});
$(“#AddUserButton”).button()。单击(函数(事件){
event.preventDefault();
$(“#添加用户”)。对话框(“打开”);
});
});
此处弹出内容
在IE9中#AddUser div不是jQueryUI对话框。有什么我遗漏的吗

编辑:代码更新为更接近生产代码


谢谢。

你的问题在于你不喜欢它

 $( "#AddUser" ).dialog({
                   autoOpen: false, modal: true >>,<<
            });

尝试在html文件中添加DOCTYPE

好的,这只是一个猜测,但是type=“submit”有时在ie上很奇怪

您是否尝试过:
AddUser


此外,我还将调用“preventDefault”作为操作侦听器中的最后一个操作。

我对dialog也有同样的问题,在css文件中添加以下内容可以帮我完成这项工作

.ui-widget-overlay
{
        z-index: 0 !important;   
}

谢谢你,这在我发布的代码中修复了它!但是,生产代码还有一些其他特性,并且没有尾随逗号。我更新了问题中的代码。谢谢。这是一个充满痛苦的世界!不过,你让我跨过了第一关。谢谢@NadirMuzaffar:div简单地显示在屏幕上。您使用的是最新的jquery/jqueryui版本吗?正如代码中提到的,jquery版本是1.7.1。然而,答案已经找到,见下文。谢谢谢谢,这其实是问题之一。谢谢。然而,这个问题已经解决了,IE碰巧对代码没有问题。问题似乎是额外的逗号
,以及我使用jquery1.5的事实。更新jQuery 1.7并删除逗号
解决了这个问题。
.ui-widget-overlay
{
        z-index: 0 !important;   
}