为什么jQuery UI Dialog没有最小化,最大化按钮?

时间:2013-05-10 00:21:47

标签: jquery-ui dialog minimize maximize

我正在使用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>

该对话框只有close按钮,没有minimizemaximize按钮,但我想展示它们。我在this页面中找到它的对话框有minimizemaximize按钮,我没有在作者的javascript代码中找到关于对话框的任何特殊设置,以及jQuery-ui版本s / he使用的是1.8.16,我的版本的jQuery-ui是否已删除此功能?

PS :我的jQuery-1.9.1.min.js和jQuery-ui-1.10.2.min,js是从官方网站下载的,没有任何自定义更改。

4 个答案:

答案 0 :(得分:9)

在该示例中查看jQuery UI的来源,看起来像运行该博客站点的人添加了自定义以最小化和最大化支持。您可以在代码中找到以下注释。

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

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

答案 1 :(得分:1)

如果您查看该页面中链接的jquery-ui.js文件的中间部分,则会显示从第366行到第1429行附近的未分化代码部分,其中他添加了自定义代码以处理最小化/最大化功能。

请注意,无法保证代码部分在1.8.16之外的任何版本的jQuery UI中都能正常(或根本不)。

答案 2 :(得分:0)

同时查看jQuery Dialogr。我认为这可以提供帮助。

答案 3 :(得分:0)

我使用扩展jquery ui对话框的小部件工厂制作了一个小插件。

我使用jquery小部件工厂添加新的功能

$.widget('fq-ui.extendeddialog', $.ui.dialog, {
...
})(jQuery);

在Jquery UI对话框代码中,有一个_createTitlebar方法。 我覆盖它并添加最大化和最小化按钮

_createTitlebar: function () {
    this._super();
    // Add the new buttons
    ...        
    },