JQuery中的dialog使用介绍

初始化参数

对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框。

没有参数,表示按照默认的设置初始化对话框,在当前最新版本的 jQuery UI 1.8.9 中, dialog 支持下列属性。

autoOpen   初始化之后,是否立即显示对话框,默认为 true

modal        是否模式对话框,默认为 false

closeOnEscape   当用户按 Esc 键之后,是否应该关闭对话框,默认为 true

draggable  是否允许拖动,默认为 true

resizable    是否可以调整对话框的大小,默认为 true

title           对话框的标题,可以是 html 串,例如一个超级链接。

position     用来设置对话框的位置,有三种设置方法

1.  一个字符串,允许的值为  ‘center‘, ‘left‘, ‘right‘, ‘top‘, ‘bottom‘.  此属性的默认值即为 ‘center‘,表示对话框居中。      2.  一个数组,包含两个以像素为单位的位置,例如,

var dialogOpts = {     position: [100, 100] };

3. 一个字符串组成的数组,例如, [‘right‘,‘top‘],表示对话框将会位于窗口的右上角。

var dialogOpts = {     position: ["left", "bottom"] };

一组关于尺寸的属性,以像素为单位。

width     宽度, 默认 300

height    高度,默认 ‘auto‘

minWidth     最小宽度,默认 150

minHeight    最小高度,默认 150

maxWidth   最大宽度

maxHeight   最大高度

还有关于关闭的效果

hide       当对话框关闭时的效果,默认为 null, 例如, hide: ‘slide‘

show     当对话框打开时的效果。默认为 null

堆叠

stack     对话框是否叠在其他对话框之上。默认为 true

zIndex   对话框的 z-index 值,一个整数,越大越在上面。默认 1000

按钮

buttons   一个对象,属性名将会被作为按钮的提示文字,属性值为一个函数,即按钮的处理函数。

var dialogOpts = {    buttons: {       "Ok": function() { } ,       "Cancel": function() {}    } } $("#myDialog").dialog(dialogOpts);

IE6 的 select 元素穿透问题

bgiframe     解决 IE6 的 select 元素穿透问题,通过增加一个 iframe 来解决。默认为  true

这一功能需要使用脚本 jquery.bgiframe-2.1.2,脚本在 jQuery UI 压缩包中 development-bundle\external 文件夹中,需要将这个文件加入到页面中。

<script src="../jquery-1.4.4.js"></script> <script src="../external/jquery.bgiframe-2.1.2.js"></script> <script src="../ui/jquery.ui.core.js"></script>

这个控件现在有一个bug,在弹出窗口有遮罩层的情况下,在chrome下,如果出现纵向滚动条,无法用鼠标拖动,只能使用滚轮。

上边的说明来自 王洋

设置前

设置后

示例

$("#dialog").dialog({     bgiframe: true,     resizable: false,     height:140,     modal: true,     overlay: {         backgroundColor: ‘#000‘,         opacity: 0.5     },     buttons: {         ‘Delete all items in recycle bin‘: function() {             $(this).dialog(‘close‘);         },         Cancel: function() {             $(this).dialog(‘close‘);         }     } });

效果如下。

对话框的方法

初始化之后,就可以使用对话框了,比如说打开对话框,关闭对话框,这需要通过对话框的方法来完成。

对话框的方法需要通过调用 dialog 函数,并传递字符串形式的方法来完成。例如,dialog( "open" )  表示调用对话框的 open 方法。

open     打开对话框,需要注意的是,并没有 open() 方法,而是通过 dialog( "open" ) 来调用。例如,  .dialog( "open" )

close     关闭对话框

$(this).dialog(‘close‘);

destroy  摧毁一个对话框,去除对话框功能,将元素还原为初始化之前的状态。

isOpen   检查对话框的状态,如果已经打开,返回 true.

moveToTop  将对话框移到对话框的顶端

option    设置或者读取对话框某个属性的值,有两种用法。

如果第二个参数为字符串,如果提供了三个参数,表示设置,如果两个参数,表示读取。 例如 .dialog( "option" , optionName , [value] )

如果第二个参数为对象,表示一次性设置多个属性。

enable   启用对话框

disable  禁用对话框

对话框的事件

在对话框使用过程中,还将触发多种事件,我们可以自定义事件处理函数进行响应。

create

open

focus

dragStart

drag

dragStop

resizeStart

resize

resizeStop

beforeClose

close

例如,下面的设置了 open,close,beforeClose 的事件处理,显示窗口的状态。

var dialogOpts = {      open: function() {              $("#status").find(".ui-widget-content").text("The dialog is open");          },      close: function() {              $("#status").find(".ui-widget-content").text("The dialog is closed");          },      beforeclose: function() {              if (parseInt($(".ui-dialog").css("width")) == 300 ||                  parseInt($(".ui-dialog").css("height")) == 300) {                return false              }          } }; $("#myDialog").dialog(dialogOpts);

效果如下

对话框使用常见问题

常见的问题就是多次初始化一个对话框。

对话框仅仅需要初始化一次,多次初始化会有问题。

Nemikor 在 Blog 中说明了这个问题,Basic usage of the jQuery UI dialog,并且给出了一个示例,示例的地址

学习资源

人民邮电出版社的 jQuery用户界面库学习指南 是目前唯一的一本中文资料。只不过版本有点老,是 1.6 版。

时间: 2024-11-04 16:47:49

JQuery中的dialog使用介绍的相关文章

Jquery中AJAX参数详细介绍

在使用jquery的时候,我们经常用到jquery中对ajax的封装,下面对ajax函数的各参数详细说明和讲解,以便更好的理解和使用 $.get(url, data, callback,type) 和 $.post(url, data, callback, type). 1. jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() 返回其创建的 XML

JQuery中stop([clearQueue],[goToEnd])介绍

调用stop()方法停止当前所有动画效果     $(selector).stop([clearQueue],[goToEnd])方法的功能是在动画完成之前,停止当前正在执行的动画效果,这些效果包括滑动.淡入淡出和自定义的动画......其中,两个可选项参数clearQueue和goToEnd都是布尔类型值,前者表示是否停止正在执行的动画(清空动画队列),后者表示是否完成正在执行的动画,默认均为false. 首先介绍一下动画队列,比如一个页面有几个动画,而这些动画是按照顺序执行的,比如页面中一个

jquery中 $.expr使用实例介绍

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> new document </ti

JQuery中的AJAX参数详细介绍

Jquery中AJAX参数详细介绍 参数名 类型 描述 url String    (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持. timeout Number 设置请求超时时间(毫秒).此设置将覆盖全局设置. async B

jquery ui中的dialog,官网上经典的例子

jquery ui中的dialog,官网上经典的例子 jquery ui中dialog和easy ui中的dialog很像,但是最近用到的时候全然没有印象,一段时间不用就忘记了,这篇随笔介绍一下这个控件. 1.实例 官网源代码中给出了一些实例,首先看看实例是什么样子的. a.默认功能 也是最简单的应用,也就是打开一个对话框,代码如下 <!doctype html> <html lang="en"> <head> <meta charset=&q

jquery ui中的dialog

jquery ui中dialog和easy ui中的dialog很像,但是最近用到的时候全然没有印象,一段时间不用就忘记了,这篇随笔介绍一下这个控件. 1.实例 官网源代码中给出了一些实例,首先看看实例是什么样子的. a.默认功能 也是最简单的应用,也就是打开一个对话框,代码如下 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <tit

基于jquery中children()与find()的区别介绍

本篇文章介绍了,基于jquery中children()与find()的区别,需要的朋友参考下 .children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈).参数可选,添加参数表示通过选择器进行过滤,对元素进行筛选. .find(selector)方法是返回匹配元素集合中每个元素的后代.参数是必选的,可以为选择器.jquery对象可元素来对元素进行筛选. .find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级.这里的

jquery eval解析JSON中的注意点介绍

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:使用eval()函数.使用Function对象来进行返回解析,下面有个示例,感兴趣的朋友可以参考下 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的each方法来遍历 用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,

jQuery中事件模块介绍

事件模块 1.提供其他DOM方法 包括:next 和 nextAll方法 1.1 next方法实现 目标:扩展框架方法,获取当前元素的下一个元素 问题:如何获取下一个元素? 1.1.1 提供 nextSibling 工具方法 说明:这是一个工具型方法,用来获取指定元素的下一个元素 itcast.extend({ nextSibling: function(dom) { var nextNode = dom; while(nextNode = nextNode.nextSibling) { if(