对话框小组件添加版本:1.0
描述:在交互式叠加层中打开内容。
对话框是一个包含标题栏和内容区域的浮动窗口。默认情况下,可以通过移动、调整大小和关闭“x”图标来操作对话框窗口。
如果内容长度超过最大高度,将自动出现滚动条。
底部按钮栏和半透明模态叠加层是可添加的常见选项。
焦点
打开对话框后,焦点会自动移动到符合以下条件的第一项
打开时,对话框小部件确保使用“tab”键的键盘导航会使焦点在对话框中的可聚焦元素之间循环,而不是对话框外的元素。此外,模态对话框还可防止鼠标用户单击对话框外的元素。
关闭对话框后,焦点会自动返回到打开对话框时具有焦点的元素。
隐藏关闭按钮
在某些情况下,你可能希望隐藏关闭按钮,例如,如果你在按钮面板中有一个关闭按钮。实现此目的的最佳方法是通过 CSS。例如,你可以定义一个简单的规则,例如
1
2
3
|
|
然后,你可以简单地将 no-close
类添加到任何对话框中以隐藏其关闭按钮
1
2
3
4
5
6
7
8
9
10
11
|
|
主题
对话框小部件使用 jQuery UI CSS 框架 来设置其外观和感觉。如果需要特定于对话框的样式,则可以使用以下 CSS 类名称进行覆盖或作为 classes
选项 的键
-
ui-dialog
:对话框的外容器。如果设置了draggable
选项,则在拖动过程中会添加ui-dialog-dragging
类。如果设置了resizable
选项,则在调整大小时会添加ui-dialog-resizing
类。如果设置了buttons
选项,则会添加ui-dialog-buttons
类。-
ui-dialog-titlebar
:包含对话框标题和关闭按钮的标题栏。-
ui-dialog-title
:对话框文本标题周围的容器。 -
ui-dialog-titlebar-close
:对话框的关闭按钮。
-
-
ui-dialog-content
:对话框内容周围的容器。这也是小部件实例化的元素。 -
ui-dialog-buttonpane
:包含对话框按钮的面板。仅当设置了buttons
选项时才会出现此面板。-
ui-dialog-buttonset
:按钮本身周围的容器。
-
-
此外,当设置了 modal
选项时,会将一个具有 ui-widget-overlay
类名的元素追加到 <body>
。
依赖项
其他说明
- 此小部件需要一些功能性 CSS,否则它将无法正常工作。如果您构建自定义主题,请使用小部件的特定 CSS 文件作为起点。
选项
appendTo
"body"
使用指定的 appendTo
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 appendTo
选项
1
2
3
4
5
|
|
autoOpen
true
使用指定的 autoOpen
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 autoOpen
选项
1
2
3
4
5
|
|
类
|
指定要添加到小组件元素的其他类。在 主题部分 中指定的任何类都可以用作键来覆盖其值。要详细了解此选项,请查看 有关 classes
选项的学习文章。
使用指定的 classes
选项初始化对话框,更改 ui-dialog
类的主题
1
2
3
4
5
|
|
在初始化之后获取或设置 classes
选项的属性,在此处读取和更改 ui-dialog
类的主题
1
2
3
4
5
|
|
closeOnEscape
true
使用指定的 closeOnEscape
选项初始化对话框
1
2
3
|
|
在初始化之后获取或设置 closeOnEscape
选项
1
2
3
4
5
|
|
closeText
"close"
使用指定的 closeText
选项初始化对话框
1
2
3
|
|
在初始化之后获取或设置 closeText
选项
1
2
3
4
5
|
|
dialogClass
""
使用指定的 dialogClass
选项初始化对话框
1
2
3
|
|
在初始化之后获取或设置 dialogClass
选项
1
2
3
4
5
|
|
draggable
true
true
,则可以通过标题栏拖动对话框。需要包含 jQuery UI Draggable 小组件。使用指定的 draggable
选项初始化对话框
1
2
3
|
|
在初始化之后获取或设置 draggable
选项
1
2
3
4
5
|
|
height
"auto"
- 数字:以像素为单位的高度。
-
字符串:唯一支持的字符串值为
"auto"
,这将允许对话框高度根据其内容进行调整。
使用指定的 height
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 height
选项
1
2
3
4
5
|
|
hide
null
-
布尔值:设置为
false
时,将不使用任何动画,对话框将立即隐藏。设置为true
时,对话框将淡出,使用默认持续时间和默认缓动。 - 数字:对话框将淡出,使用指定的持续时间和默认缓动。
-
字符串:对话框将使用指定的特效隐藏。该值可以是内置 jQuery 动画方法的名称,例如
"slideUp"
,也可以是 jQuery UI 特效 的名称,例如"fold"
。在任何情况下,该特效都将使用默认持续时间和默认缓动。 -
对象:如果该值是一个对象,则可以提供
effect
、delay
、duration
和easing
属性。如果effect
属性包含 jQuery 方法的名称,则将使用该方法;否则,将假定它是 jQuery UI 特效的名称。在使用支持附加设置的 jQuery UI 特效时,可以将这些设置包含在对象中,它们将传递给该特效。如果省略duration
或easing
,则将使用默认值。如果省略effect
,则将使用"fadeOut"
。如果省略delay
,则不使用延迟。
使用指定的 hide
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 hide
选项
1
2
3
4
5
|
|
maxHeight
false
使用指定的 maxHeight
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 maxHeight
选项
1
2
3
4
5
|
|
maxWidth
false
使用指定的 maxWidth
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 maxWidth
选项
1
2
3
4
5
|
|
minHeight
150
使用指定的 minHeight
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 minHeight
选项
1
2
3
4
5
|
|
minWidth
150
使用指定的 minWidth
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 minWidth
选项
1
2
3
4
5
|
|
modal
false
true
,对话框将具有模态行为;页面上的其他项目将被禁用,即无法与之交互。模态对话框会在对话框下方但高于其他页面元素的位置创建一个覆盖层。使用指定的 modal
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 modal
选项
1
2
3
4
5
|
|
position
{ my: "center", at: "center", of: window }
指定打开时对话框应显示的位置。对话框将处理碰撞,以便尽可能多地显示对话框。
of
属性默认为窗口,但你可以指定另一个元素来相对定位。你可以参考 jQuery UI Position 实用程序,了解有关可用属性的更多详细信息。
使用指定的 position
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 position
选项
1
2
3
4
5
|
|
resizable
true
true
,对话框将可调整大小。需要包含 jQuery UI Resizable 小组件。使用指定的 resizable
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 resizable
选项
1
2
3
4
5
|
|
show
null
-
布尔值:当设置为
false
时,将不使用动画,对话框将立即显示。当设置为true
时,对话框将以默认持续时间和默认缓动淡入。 - 数字:对话框将以指定的持续时间和默认缓动淡入。
-
字符串:对话框将使用指定的效果显示。该值可以是内置 jQuery 动画方法的名称,例如
"slideDown"
,也可以是 jQuery UI 效果 的名称,例如"fold"
。在这两种情况下,效果都将使用默认持续时间和默认缓动。 -
对象:如果值为对象,则可以提供
effect
、delay
、duration
和easing
属性。如果effect
属性包含 jQuery 方法的名称,则将使用该方法;否则,将假定它是 jQuery UI 效果的名称。在使用支持其他设置的 jQuery UI 效果时,可以将这些设置包含在对象中,它们将传递给效果。如果省略duration
或easing
,则将使用默认值。如果省略effect
,则将使用"fadeIn"
。如果省略delay
,则不使用延迟。
使用指定的 show
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 show
选项
1
2
3
4
5
|
|
title
null
null
,则将使用对话框源元素上的 title
属性。使用指定的 title
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 title
选项
1
2
3
4
5
|
|
width
300
使用指定的 width
选项初始化对话框
1
2
3
|
|
在初始化后获取或设置 width
选项
1
2
3
4
5
|
|
方法
instance()返回:对象
检索对话框的实例对象。如果元素没有关联的实例,则返回 undefined
。
与其他小组件方法不同,instance()
在加载对话框插件后可以安全地对任何元素进行调用。
- 此方法不接受任何参数。
调用 instance 方法
1
|
|
isOpen()返回:布尔值
- 此方法不接受任何参数。
调用 isOpen 方法
1
|
|
option( optionName )返回:Object
获取当前与指定的 optionName
关联的值。
注意:对于以对象作为其值选项,你可以通过使用点符号来获取特定键的值。例如,"foo.bar"
将获取 foo
选项中 bar
属性的值。
-
optionName类型:String要获取的选项的名称。
调用该方法
1
|
|
option()返回:PlainObject
- 此签名不接受任何参数。
调用该方法
1
|
|
widget()返回:jQuery
jQuery
对象。
- 此方法不接受任何参数。
调用 widget 方法
1
|
|
扩展点
对话框小部件是使用 小部件工厂 构建的,并且可以扩展。在扩展小部件时,你可以覆盖或添加到现有方法的行为。以下方法作为扩展点提供,与上面列出的 插件方法 具有相同的 API 稳定性。有关小部件扩展的更多信息,请参阅 使用小部件工厂扩展小部件。
_allowInteraction( event )返回:布尔值
_allowInteraction()
方法确定是否允许用户与给定的目标元素进行交互;因此,它可用于将不是对话框子元素但希望用户能够使用的元素列入白名单。
-
事件类型:事件
允许在模态对话框中使用 Select2 插件。_super()
调用确保仍然可以与对话框中的元素进行交互。
1
2
3
|
|
事件
beforeClose( event, ui )类型:dialogbeforeclose
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 beforeClose 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogbeforeclose 事件
1
|
|
close( event, ui )类型:dialogclose
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 close 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogclose 事件
1
|
|
create( event, ui )类型:dialogcreate
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 create 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogcreate 事件
1
|
|
drag( event, ui )类型:dialogdrag
使用指定的 drag 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogdrag 事件
1
|
|
dragStart( event, ui )类型:dialogdragstart
使用指定的 dragStart 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogdragstart 事件
1
|
|
dragStop( event, ui )类型:dialogdragstop
使用指定的 dragStop 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogdragstop 事件
1
|
|
focus( event, ui )类型:dialogfocus
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 focus 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogfocus 事件
1
|
|
open( event, ui )类型:dialogopen
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 open 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogopen 事件
1
|
|
resize( event, ui )类型:dialogresize
使用指定的 resize 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogresize 事件
1
|
|
resizeStart( event, ui )类型:dialogresizestart
使用指定的 resizeStart 回调初始化对话框
1
2
3
|
|
将事件侦听器绑定到 dialogresizestart 事件
1
|
|
示例
一个简单的 jQuery UI 对话框
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
|