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 awesomjc.$title:可访问标题的对象。jc.$icon:可访问图标的对象。jc.$confirmButton:可访问确认按钮的对象。jc.$cancelButton:可访问取消按钮的对象。jc.$closeButton:可访问关闭按钮的对象。jc.$target:可访问点击元素的对象。
jquery-confirm插件的github地址为:https://github.com/craftpip/jquery-confirm