为什么jQuery UI对话框没有最小化、最大化按钮?

6
我正在使用jQuery-1.9.1和jQuery-ui-1.10.2弹出一个对话框,我的代码如下:
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.10.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/jqueryUI/theme/redmond/jquery-ui-   1.10.2.custom.min.css" />
<script type="text/javascript">
$(function(){
    $("#dialog").dialog();
});
</script>
 </head>
  <body>
<div id="dialog">
     hello, this is a dialog
</div>
</body>

对话框只有“关闭”按钮,没有“最小化”和“最大化”按钮,但我想显示它们。我在这个页面上发现它的对话框有“最小化”和“最大化”按钮,我没有在作者的javascript代码中找到任何特殊设置关于对话框,他使用的jQuery-ui版本是1.8.16,我的jQuery-ui版本是否已经删除了此功能?
注:我的jQuery-1.9.1.min.js和jQuery-ui-1.10.2.min.js是从官方网站下载的,没有任何自定义更改。
4个回答

9

从那个例子的jQuery UI源代码来看,似乎运行该博客网站的人添加了最小化和最大化支持的自定义功能。您可以在代码中找到以下评论。

/*
 * jQuery UI Dialog 1.8.16
 * w/ Minimize & Maximize Support
 * by Elijah Horton (fieryprophet@yahoo.com)
*/

您需要为对话框添加自定义以支持此功能,或包含一个扩展jQuery UI对话框的库。看起来这个网站有一个名为jquery-dialogextend的插件可以满足您的要求。


1
如果您看向连接在该页面中的jquery-ui.js文件的中间,您会发现从366行到1429行左右有一段未压缩的代码部分,他添加了自定义代码来处理最小化/最大化功能。请注意,不能保证该代码部分在除jQuery UI 1.8.16以外的任何版本中都能正确工作(或完全不工作)。

0
我使用小部件工厂制作了一个小插件,它扩展了jquery ui对话框。
我使用jquery小部件工厂添加新功能。
$.widget('fq-ui.extendeddialog', $.ui.dialog, {
...
})(jQuery);

在 Jquery UI 对话框代码中,有一个名为 _createTitlebar 的方法。我覆盖了它并添加了最大化和最小化按钮。
_createTitlebar: function () {
    this._super();
    // Add the new buttons
    ...        
    },

虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。 - Heretic Monkey
抱歉,这是我的第一篇帖子 ^^ - Thomas
没问题。欢迎来到 Stack Overflow!感谢您扩展答案以包含相关部分。请务必查看 [帮助] 部分,熟悉本站的规则。 - Heretic Monkey

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接