【问题标题】:Find jQueryUI dialog size before opened在打开之前查找 jQueryUI 对话框大小
【发布时间】:2015-03-19 14:20:40
【问题描述】:

如何在打开 jQueryUI 对话框之前找到它的高度?

请查看https://jsfiddle.net/kamLrn7v/,点击“Size”,然后点击“Open”,然后再次点击“Size”。

<div id="dialog"></div>
<button id="open">Open</button>
<button id="size">Size</button>

$("#open").click(function () {
    $("#dialog").dialog("open");
});
$("#dialog").dialog({
    autoOpen: false,
    height: 340,
    width: 430
});
$("#size").click(function () {
    console.log($("#dialog").height());
});

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-ui-dialog


    【解决方案1】:

    获取对话框选项:

    $("#size").click(function () {
        var options = $("#dialog").dialog("option");
        console.log(options.height);
        console.log(options.width);
    });
    

    查看fiddle

    【讨论】:

    • 谢谢。我注意到$("#dialog").dialog("option").height 给出了对话框的外部高度(340 像素),而$("#dialog").height()) 给出了对话框内的可用高度(272 像素)。见jsfiddle.net/4bajLxw3/1。我的应用程序要在对话框内添加带有自动滚动功能的div,并且必须使其小于272 px
    • 如果对话框没有打开,你可以显示它,获取高度然后关闭它
    • 是的,就是这么想的。感谢您的帮助。
    • 或者更好的是,使用open 事件和大小,然后获取大小。
    【解决方案2】:

    您可以像这样访问对话框height 设置:

    var diaHeight = $("#dialog").dialog("option", "height");
    

    使用 css 和附加的 div 标签,您可以设置 ui-dialog 滚动行为,而无需事先知道对话框的高度。但是,您需要将内容加载到嵌套元素中(如果您采用该路线)。

    Here is a fiddle

    【讨论】:

    • 谢谢哇哇哇,我不清楚。滚动用于对话框内的自动填充小部件。
    猜你喜欢
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多