jQuery UI - 防止对话框拖到 div 上方

Posted

技术标签:

【中文标题】jQuery UI - 防止对话框拖到 div 上方【英文标题】:jQuery UI - Prevent dialog from dragging above div 【发布时间】:2019-04-15 18:54:19 【问题描述】:

有没有办法防止 jQuery UI 对话框高于或低于#top div?我不是在寻找 z-index 解决方案,而是在寻找从顶部偏移的东西。在这种情况下,对话框应该无法移动到#top div 所在的区域。

有什么建议吗?

HTML:

<div id="top"></div>
<div id="dialog">My dialog</div>

JS:

$(document).ready(function() 
    jQuery("#dialog").dialog(
                            autoOpen:true,
                            modal: false,
                            resizable: true,
                            draggable: true,
                            closeOnEscape: true,
                            title: "Title",
        open: function()
            jQuery('.ui-widget-overlay').bind('click',function()
                jQuery('#dialog').dialog('close');
            )
        
    );
);

JSFIDDLE: https://jsfiddle.net/9gku6qrh/

【问题讨论】:

【参考方案1】:

这可能是您正在寻找的 - Keep a jQuery dialog in a div - 您只需在 #dialog 周围放置一个父容器。

【讨论】:

你是对的。带有解决方案的新 jsfiddle jsfiddle.net/10h8qjov

以上是关于jQuery UI - 防止对话框拖到 div 上方的主要内容,如果未能解决你的问题,请参考以下文章

如何在iframe外部的父窗口上显示Jquery UI对话框

使用jquery ui拖放后的动态div宽度

jQuery UI 如何在拖动的元素上添加点击

单击按钮时防止jquery ui打开第二个对话框

在将按钮添加到 jQuery UI 对话框时,如何防止有人更改或避免我的 JavaScript 逻辑?

带有常规 Div 的 JQuery UI 对话框堆叠顺序