jquery-confirm是一款功能强大的jQuery对话框和确认框插件。它提供多种内置的主题效果,可以实现ajax远程加载内容,提供动画效果和丰富的配置参数等。它的特点还有:
- 可以使用键盘控制对话框。
- 通过ajax加载对话框的内容。
- 可以在指定时间之后自动关闭对话框。
- 提供丰富的参数和回调函数。
安装
可以通过Bower来安装该插件。
$ bower install craftpip/jquery-confirm
使用方法
基本调用
$.confirm({ confirm: function(){ console.log('the user clicked confirm'); }, cancel: function(){ console.log('the user clicked cancel'); } });
全局默认参数
jconfirm.defaults = { title: 'Hello', content: 'Are you sure to continue?', contentLoaded: function(){ }, icon: '', confirmButton: 'Okay', cancelButton: 'Close', confirmButtonClass: 'btn-default', cancelButtonClass: 'btn-default', theme: 'white', animation: 'zoom', closeAnimation: 'scale', animationSpeed: 500, animationBounce: 1.2, keyboardEnabled: false, rtl: false, confirmKeys: [13], // ENTER key cancelKeys: [27], // ESC key container: 'body', confirm: function () { }, cancel: function () { }, backgroundDismiss: false, autoClose: false, closeIcon: null, columnClass: 'col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1', onOpen: function(){ }, onClose: function(){ }, onAction: function(){ } };
配置参数
jquery-confirm插件的可用配置参数有:
参数 | 类型 | 默认值 | 描述 |
title | String | 'Hello' | 对话框的标题 |
content | String, Function | 'Are you sure to continue?' | 对话框的内容,也可以通过一个函数返回ajax内容 |
contentLoaded | function | function(){} | 如果通过url前缀来调用内容,如url:http://abc.com/xyz ,该参数将是回调函数 |
icon | String | '' | 标题前面的图标 |
confirmButton | String | 'Okay' | 确认按钮的文本 |
cancelButton | String | 'Close' | 取消按钮的文本 |
confirmButtonClass | String | 'btn-default' | 确认按钮的的class |
cancelButtonClass | String | 'btn-default' | 取消按钮的class |
theme | String | 'white' | 对话框的颜色主题,可选值有:'white', 'black', 'material' , 'bootstrap' |
animation | String | 'zoom' | 打开对话框时的动画效果。可选值有: right, left, bottom, top, rotate, none, opacity, scale, zoom, scaleY, scaleX, rotateY, rotateYR (reverse), rotateX, rotateXR (reverse) |
closeAnimation | String | 'scale' | 关闭对话框时的动画,和animation参数的可选值相同 |
animationSpeed | Number | 500 | 动画的持续时间,单位毫秒 |
animationBounce | Float | 1.2 | 打开对话框时添加弹性效果,1=没有弹性效果 |
keyboardEnabled | Boolean | false | 使用回车键来确认,使用Esc键来取消 |
confirmKeys | Array | [13] | 当使用keyboardEnabled 参数时,可以设置一组键来触发确认事件,默认为13 |
cancelKeys | Array | [27] | 当使用keyboardEnabled 参数时,可以设置一组键来触发取消事件,默认为27 |
rtl | Boolean | false | 使用从右到左的布局 |
container | String | 'body' | 指定生成的对话框代码被添加到哪里 |
confirm | Function | function(){} | 用户点击了确认按钮之后的回调函数 |
cancel | Function | function(){} | 用户点击了取消按钮之后的回调函数 |
backgroundDismiss | Boolean | false | 是否允许点击对话框之外的区域来关闭对话框 |
autoClose | String | false | 在指定的时间之后如果用户没有响应则自动关闭对话框。取值:'confirm|400' |
closeIcon | Boolean | null | 在对话框没有按钮的情况下,关闭按钮是可见的。将该参数设置为true可看见关闭按钮 |
closeIconClass | String | false | 默认使用'X'作为关闭按钮,你可以通过该参数来修改 |
columnClass | String | 'col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1' |
使用Bootstrap网格系统来进行布局 |
onOpen | Function | function(){} | 当对话框元素被渲染之后触发 |
onClose | Function | function(){} | 当对话框被关闭时触发 |
onAction | Function | function(){} | 当任何指令被执行后都会触发该回调函数 |
watchInterval | Number | 100 | Watch the modal for changes and gets centered on the screen |
API
通过var jc = $.confirm()
会返回一个对象实例的引用。通过jc
引用可以打开对话框。
var jc = $.confirm({title: 'awesome'}); // jc will be used in the examples below
jc.close()
:关闭对话框。var jc = $.confirm({ ... }) jc.close(); // destroy.
jc.isClosed()
:返回对话框是否被关闭的布尔值。jc.setTitle(string)
:设置标题。jc.setContent(string)
:设置内容。jc.setIcon(iconClass)
:设置按钮。jc.setDialogCenter()
:将对话框居中显示。jc.$body
:别名:jc.$b
,模态窗口对象。jc.$content
:别名:jc.contentDiv
。可以通过该对象来访问对话框的内容。var jc = $.confirm({ content: 'Yeah, this is awesome' }) console.log(jc.$content.html()); // Yeah, this is awesom
jc.$title
:可访问标题的对象。jc.$icon
:可访问图标的对象。jc.$confirmButton
:可访问确认按钮的对象。jc.$cancelButton
:可访问取消按钮的对象。jc.$closeButton
:可访问关闭按钮的对象。jc.$target
:可访问点击元素的对象。
jquery-confirm插件的github地址为:https://github.com/craftpip/jquery-confirm