Jquery ui jQuery UI对话框在图层后面被禁用且不可点击

Jquery ui jQuery UI对话框在图层后面被禁用且不可点击,jquery-ui,Jquery Ui,我的页面上有一个jquery UI对话框: $(函数(){ $(“#dialogDone”).dialog({ closeOnEscape:没错, 莫代尔:是的, 宽度:350, 自动调整大小:正确, 表演:“放下”, 隐藏:“放下”, 自动打开:错误 }); }); 您将要将此活动标记为已完成。可以发送通知,并且只有项目管理员可以撤消此操作。 继续给我看这个 是的,完成了 取消 启动对话框后,对话框中的任何内容都不可单击。灰色层通常覆盖整个屏幕(但通常不覆盖对话框),并使背景中的所有内

我的页面上有一个jquery UI对话框:

$(函数(){
$(“#dialogDone”).dialog({
closeOnEscape:没错,
莫代尔:是的,
宽度:350,
自动调整大小:正确,
表演:“放下”,
隐藏:“放下”,
自动打开:错误
});
});
您将要将此活动标记为已完成。可以发送通知,并且只有项目管理员可以撤消此操作。


继续给我看这个

是的,完成了 取消
启动对话框后,对话框中的任何内容都不可单击。灰色层通常覆盖整个屏幕(但通常不覆盖对话框),并使背景中的所有内容都被禁用,出于某种原因,它也覆盖了对话框本身。我无法单击任一按钮,也无法选中/取消选中复选框

我在上面的链接中创建了测试页面,作为一个基本的可复制的最小示例。我在这个web应用程序和其他应用程序中多次使用jquery对话框,但由于某些原因,在这个特定页面上,我出现了这种奇怪的行为,无法理解

启动对话框后,即使页面上的所有内容(包括对话框内容)都被禁用,您仍然可以按ESC键,这将取消对话框并使页面再次可访问。这告诉我基本的jQueryUI对话框连接和事件模型仍然在工作

我读到有人建议设置对话框的z索引,所以我尝试了一下,但没有任何效果


有什么想法吗?

我在您的测试页面源代码上运行了一个HTML格式化程序,看起来您有很多未关闭的标记。一些未关闭的标记可能会导致元素具有您不期望的父元素。我建议您仔细阅读代码,确保每个开始标记在您期望的位置都有一个匹配的结束标记。

我发现了问题。我引用的是一个较旧的jQueryUICSS文件(1.9.1),而不是jQuery1.12.1附带的新文件。无可否认,这是一个边缘案例,但它可能会帮助将来引用错误的jquery UI css文件的人。

我运行了同样的程序,它显示给我的唯一未关闭的标记是

标记,它们当然不是真正未关闭的,并且不会导致任何问题。你能给我举一个未闭合标签的例子吗?或者至少是你用来扫描的服务的一个链接?我有一个未关闭的标签,我把它移除了,这没有什么区别。在那次更改之后,我通过两个不同的服务运行了HTML,它说没有未关闭的标记:和
$(function() {
    $("#dialogDone").dialog({
        closeOnEscape: true,
        modal: true,
        width: 350,
        autoResize:true,
        show: "drop",
        hide: "drop",
        autoOpen: false
    });
});

<div id="dialogDone" title="Activity Done?" class="RNDDialog">
    <div style="text-align: left;">
        You are about to stamp this activity as DONE. Notifications may be sent out, and only Project Admins can reverse this.
        <br><br>
        <input type="checkbox" id="chkKeepShowingDoneWarning" class="RNDCheckbox" checked>Keep showing me this
    </div>

    <br><br>

    <center>
    <button class="GreenButton" onclick="stampActivityDone()">Yes, it is DONE</button>
    <button class="GrayButton" style="margin-left: 10px" onclick="cancelDone()">Cancel</button>
    </center>
</div>