[转]jquery-confirm
本文转自:http://craftpip.github.io/jquery-confirm/
Practical Uses
These features can practically be used like so.
Elegant Alerts.
Stacked Confirmations
Important modal
Need input?
Its also a Dialog.
Something huge?
User friendly?
Keyboard actions?
Installation
Download
Download the Latest version and use files in the /dist/ folder.
via Bower: $ bower install craftpip/jquery-confirm
via Npm: $ npm install jquery-confirm
Quick Usage
Dependencies:
- Bootstrap by Twitter >= v2
- jQuery library > v1.8
Show an alert dialog
$.alert() Has only confirm button.
example alert
$.alert({title: 'Alert!',content: 'Simple alert!',confirm: function(){alert('Confirmed!');}});
Show an confirm dialog
$.confirm() Has both confirm & cancel buttons.
$.confirm({title: 'Confirm!',content: 'Simple confirm!',confirm: function(){alert('Confirmed!');},cancel: function(){alert('Canceled!')}});
// binding to an element$('a.twitter').confirm();// or$('a.twitter').confirm({ ... });/*NOTE: When binded to a Anchor tag as above, by default the confirm button will open the href link.*/
Show an modal dialog
$.dialog() Hides both confirm & cancel buttons. (Shows close [x] button)
example dialog
$.dialog({title: 'Text content!',content: 'Simple modal!',});
Examples
NOTE: The $.confirm(), $.dialog() & $.alert() methods are alias of jconfirm().
All three methods indirectly call the jconfirm base function altering the provided options.
ADVANCED: this.$b is the body div for jquery-confirm. You can find and alter any element at run time.
BUTTON TEXT
Change the button text for confirm and cancel.
click me!
$.confirm({confirmButton: 'Yes i agree',cancelButton: 'NO never !'});
BUTTON STYLE
Apply the classes you want in the buttons.
Available bootstrap options are btn-primary btn-inverse btn-warning btn-info btn-danger btn-success
info and danger! warning and success!
$.confirm({confirmButtonClass: 'btn-info',cancelButtonClass: 'btn-danger'})
HIDE ELEMENTS.
Hide the Title/Content/Confirm Button/Cancel Button/Close icon when u don't need them.
No title No content No title/cancel Button No title/cancel/confirm Button No title/cancel/confirm Button + no close icon
$.confirm({title: false, // hides the title.cancelButton: false // hides the cancel button.confirmButton: false, // hides the confirm button.closeIcon: false, // hides the close icon.content: false, // hides content block.});
NOTE:
By default the closeIcon is visible if both confirm & cancel buttons are hidden. (dialog mode).
To explicitly show or hide closeIcon set closeIcon: true or closeIcon: false.
Shorthand to hide both buttons is to use $.dialog().
THEME
The Light & Dark themes that suit any website design,
Supervan Light theme Dark theme HoloLight theme HoloDark theme
$.confirm({theme: 'white'});$.confirm({theme: 'black'});$.confirm({theme: 'hololight'});$.confirm({theme: 'holodark'});$.confirm({theme: 'supervan'});
CUSTOM WIDTH
Jquery-confirm uses bootstrap's grid system for its layout.
You can simply provide column classes to adjust the modal's width.
You can also set responsive layouts. Bootstrap grid docs
col-md-6 col-md-offset-3 col-md-4 col-md-offset-4 (default) col-md-4 col-md-4 col-md-offset-8 col-md-12
$.confirm({columnClass: 'col-md-4 col-md-offset-4'});$.confirm({columnClass: 'col-md-4'});$.confirm({columnClass: 'col-md-4 col-md-offset-8 col-xs-4 col-xs-offset-8'});
LOAD VIA URL
Get content from a file/url.
Prepend URL: to your URL. The URL will be called with the get ajax method.
Example content: "URL:http://example.com/getData?id=1"
The confirm/cancel buttons are disabled until the content is fetched from the URL.
You can also load HTML contents to the modal with ease.
Load from text.txt Using contentLoaded (optional) view text.txt
$.confirm({content: 'url:text.txt',title: 'Title'});// Using contentLoaded callback.$.confirm({content: 'url:text.txt',title: 'Title',contentLoaded: function(data, status, xhr){var that = this;setTimeout(function(){that.setContent('Changed content after timeout: '+status);}, 1000);}});
contentLoaded is called regardless of success or error.
LOAD VIA URL (Advanced Option)
Get full control over Ajax calls and its callbacks.
Pass a function that returns jquery ajax promise. i.e. $.get(), $.post(), $.ajax(), etc.
$obj is the reference object to jconfirm, and provides set of methods.
Load from bower.json Error it my way view bower.json
$.confirm({content: function ($obj) {return $.ajax({url: 'bower.json',dataType: 'json',success: function (data) {$obj.setContent('Plugin description: '+data.description); // sets the content and centers the dialog on screen.// Ahh, success!},error: function () {$obj.contentDiv.html("Something went wrong, please try again later."); // sets the content straightaway.// Handle it your way}});},confirm: function(){// here this.content is the current content overwritten everytime new content is set.this.setContent(this.content+'<h4>Adding a new sentence.</h4>');return false;}});
ANIMATION!
All the impression lies in what we see.
Lots and lots of animations
2D animations:
right left bottom top Rotate none opacity
3D animations:
scale (default) zoom scaleY scaleX RotateY RotateX
$.confirm({animation: 'zoom',closeAnimation: 'scale'});// Available animations: right, left, bottom, top, rotate, none, opacity, scale, zoom, scaley, scalex, rotatey, rotatex
see options for list of options you can apply.
ANIMATION BOUNCE
Some eye candy thats in fashion.
No bounce 1.5 bounce 2 bounce 2.5 bounce
$.confirm({animationBounce: 1.5, // default is 1.2 whereas 1 is no bounce.});
ANIMATION SPEED
Adjust the duration of animation.
I'm too Late I'm too Quick
$.confirm({animationSpeed: 2000 // 2 seconds});$.confirm({animationSpeed: 200 // 0.2 seconds});
AUTO-CLOSE
Do a action if the user does not respond of specified time.
The autoClose option takes in a string, like 'confirm|4000' where confirm is the action to trigger after 4000 milliseconds.
Practical examples of autoClose
Auto Cancel. Auto Confirm.
$.confirm({title: 'Delete user?',content: 'This dialog will automatically trigger \'cancel\' in 6 seconds if you don\'t respond.',autoClose: 'cancel|6000',confirm: function(){alert('confirmed');},cancel:function(){alert('canceled');}});$.confirm({title: 'Logout?',content: 'Your time is out, you will be automatically logged out in 10 seconds.',autoClose: 'confirm|10000',confirm: function(){alert('confirmed');},cancel:function(){alert('canceled');}});
ICONS
Give meaning to your dialog with custom icons.
Read about Font Awesome here.
Using bootstrap's glyphicon Using font-awesome Animated font-awesome
$.confirm({icon: 'glyphicon glyphicon-heart',title: 'glyphicon'});$.confirm({icon: 'fa fa-warning',title: 'font-awesome'});$.alert({icon: 'fa fa-spinner fa-spin',title: 'Working!',content: 'Sit back, we are processing your request. <br>The animated icon is provided by Font-Awesome!'});
BACKGROUND DISMISS
By default the 'cancel' action is trigged if the user click outside of the dialog.
With backgroundDismiss Without backgroundDismiss
$.confirm({backgroundDismiss: true,content: 'Click outside the dialog'});$.confirm({backgroundDismiss: false,content: 'Click outside the dialog'});
KEYBOARD ACTIONS
Enables keyboard events on jquery-confirm dialog.
ENTER calls confirm(); & ESC calls cancel();
Keyboard Enabled
$.confirm({keyboardEnabled: true,content: 'Press ESC or ENTER to see it in action.',cancel: function(){alert('canceled');},confirm: function(){alert('confirmed');}});
CALLBACKS
If you have a form inside your modal, you'll probably need to attach events to it.
Most used to interact with the elements inside the modal.
With Callbacks
$.confirm({content: 'Imagine this is a complex form and you have to attach events all over the form or any element <br><button type="button" class="examplebutton">I\'m alive!</button>',onOpen: function(){alert('after the modal is opened');// find the input element and attach events to it.// NOTE: `this.$b` is the jquery-confirm's content DIV.this.$b.find('button.examplebutton').click(function(){alert('You clicked on me!');});},onClose: function(){alert('before the modal is closed');},onAction: function(action){alert(action + ' was clicked');}});
GLOBAL DEFAULTS
You can setup global settings for your jconfirm.
jconfirm.defaults should be set after the plugin has loaded.
jconfirm.defaults = {title: 'Hello',content: 'Are you sure to continue?',contentLoaded: function(){},icon: '',confirmButton: 'Okay',cancelButton: 'Cancel',confirmButtonClass: 'btn-default',cancelButtonClass: 'btn-default',theme: 'white',animation: 'zoom',closeAnimation: 'scale',animationSpeed: 400,animationBounce: 1.2,keyboardEnabled: false,rtl: false,confirmKeys: [13, 32], // ENTER or SPACE keycancelKeys: [27], // ESC keycontainer: 'body',confirm: function () {},cancel: function () {},backgroundDismiss: true,autoClose: false,closeIcon: null,columnClass: 'col-md-6 col-md-offset-3',onOpen: function(){},onClose: function(){},onAction: function(){}};
RTL Support
If you need to show the confirm box in rtl then you should set the rtl option to true.
Try RTL
$.alert({title: 'پیغام',content: 'این یک متن به زبان شیرین فارسی است',confirmButton: 'تایید',cancelButton: 'انصراف',confirmButtonClass: 'btn-primary',closeIcon: true, // close icon will be moved to left if RTL is set to true.rtl: true,confirm: function () {alert('تایید شد.');}});
OPTIONS
Options, their defaults and possibilities.
| Name | type | default | description |
|---|---|---|---|
| title | String | 'Hello' |
Title of the dialog. |
| content | String, Function | 'Are you sure to continue?' |
Content for the dialog. Or use a function that returns Ajax promise. |
| contentLoaded | function | function(){} |
(optionally available) If you load content via URL using 'url:http://abc.com/xyz', contentLoaded will be the callback. |
| icon | String | '' |
Icon class prepended before the title. |
| confirmButton | String | 'Okay' |
Button text for the confirm callback. |
| cancelButton | String | 'Cancel' |
Button text for the cancel callback. |
| confirmButtonClass | String | 'btn-default' |
Class for the confirm button. |
| cancelButtonClass | String | 'btn-default' |
Class for the cancel button. |
| theme | String | 'white' |
Color theme for the dialog. possible options are 'white' & 'black' |
| animation | String | 'zoom' |
The Open animation for the dialog. possible options are 'scale', 'top', 'bottom', 'left', 'right', 'zoom', 'opacity', 'none', 'rotate', 'rotatex', 'rotatey', 'scalex', 'scaley'. The 'blur' animation was removed in v1.1.2 |
| closeAnimation | String | 'scale' |
The close animation for the dialog. |
| animationSpeed | Number | 400 |
Animation duration in miliseconds. |
| animationBounce | Float | 1.5 |
Adds a Bounce open animation, 1 = No bounce |
| keyboardEnabled | Boolean | false |
Use the ENTER key to trigger the confirm action and ESC key to trigger the cancel action. |
| confirmKeys | Array | [13, 32] |
When using `keyboardEnabled`, an array of keys that should trigger confirm. Default 13,32 // Enter & Space keys respectively. |
| cancelKeys | Array | [27] |
When using `keyboardEnabled`, an array of keys that should trigger cancel. Default 27 // Esc key. |
| rtl | Boolean | false |
Use the Right to left text layout. |
| container | String | 'body' |
Specify where the generated HTML content for jconfirm should append. By default it appends in the document's <body>. |
| confirm | Function | function(){} |
function to run after the user clicks the confirm button. |
| cancel | Function | function(){} |
function to run after the user clicks the cancel button. |
| backgroundDismiss | Boolean | true |
if the user can dismiss the dialog via clicking outside the dialog. |
| autoClose | String | false |
Auto-close the dialog within a specified time, if the user doesn't respond. possible option 'confirm|400'
the string is divided in two halves with |
| closeIcon | Boolean | null |
By default closeIcon is visible if both buttons are false. (dialog mode). closeIcon can be shown by setting this value to a Boolean value. |
| columnClass | String | 'col-md-6 col-md-offset-3' |
Provides a better way to set Custom width to Jquery-onfirm. You can also set custom widths for different display sizes using the Bootstraps grid. |
| onOpen | Function | function(){} |
This function is triggered when the jquery-confirm element is rendered. (After the popup is displayed) |
| onClose | Function | function(){} |
This function is triggered when the modal is closed. |
| onAction | Function | function(){} |
This function is triggered when any of the action performed, ie. confirm/cancel/closeicon click. |
RETURNED OBJECT & METHODS
The function var obj = $.confirm() returns a reference object on execution.
This obj can be used to interact with the opened dialog.
var obj = $.confirm({title: 'awesome'}); // initial execution
obj.$b & obj.contentDiv
The $b object is a jQuery DOM reference to the dialog. You can access your Dialogs contents via this object.
var obj = $.confirm({
title: 'awesome',
content: '<span class="styled">Yeah, this is awesome</span>'
})
var finding = obj.$b.find('.styled').html();
console.log(finding);
// Yeah, this is awesome
var contentBlock = obj.contentDiv.html();
console.log(contentBlock);
// <span class="styled">Yeah, this is awesome</span>
obj.close()
The close method closes/destroys the dialog.
var obj = $.confirm({
....
})
// Reference object is stored in 'obj', and the dialog opens on execution!
obj.close();
// The dialog is closed/destroyed.
obj.isClosed()
Tells if the dialog is closed or not.
Returns TRUE if closed else returns FALSE,
obj.setContent('text to set')
Overwrites the content in the dialog and centers the dialog on screen.
obj.setDialogCenter()
Centers the dialog on screen.
INSIDE CALLBACKS
Getting the reference object inside callback functions
You may need the returned reference obj inside the callback function, this is what you need.
var obj = $.confirm({
title: 'awesome',
content: 'Get me yeah.',
confirm: function(){
console.log(this.content);
// Get me yeah.
}
})
console.log(obj.content);
// Get me yeah.
// Moral, `this` within the callback function is the returned object on execution.
Preventing the dialog from closing
At times you need the content inside dialog be validated, (For example, If you have a form inside, and the fields are required). You can prevent the modal close by simply doing return false;
var obj = $.confirm({
title: 'awesome',
content: 'Your name: <input type="text" />', // You can also LOAD the html data using LOAD FROM URL feature,
confirm: function(){
var val = this.$b.find('input').val();
// there is a input element inside the content.
if(val == ''){
// if the value is empty, dont close the dialog. (and maybe show some error.)
return false;
}
}
// NOTE: You can return any falsy value to prevent close (such as '', null, undefined, 0).
});
[转]jquery-confirm的更多相关文章
- 黄聪:jquery.confirm弹出确认消息
1.插件介绍 该确认框的默认样式如: 1.1.插件默认参数 // 默认参数 $.confirm.defaults = { // 样式 css: "http://static.qianduan ...
- jquery小技巧:使用jquery.confirm和PNotify实现弹出提示和消息提示
在从UIKIT前端换到BOOSTRAP前端时,一些转换的技巧. https://myclabs.github.io/jquery.confirm/ http://sciactive.github.io ...
- 过去几个月出炉的30款最喜欢的 jQuery 插件
在这篇文章中,我们收集了一些在过去的几个月里最喜欢的 jQuery 插件.为了使您更容易搜索到自己喜欢的 jQuery 插件,我们已经对插件进行了分类: 页面布局插件,图片和视频插件,滑块和画廊,排版 ...
- 240个jquery插件(转)
http://www.kollermedia.at/archive/2007/11/21/the-ultimate-jquery-plugin-list/File upload Ajax File U ...
- jquery插件库
jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascrīpt框架.其经典 ...
- jquery plugins
jQuery官网插件 jQuery自定义滚动条样式插件 jQuery custom content scroller examples Twitter typeahead typeahead.js t ...
- 强烈推荐240多个jQuery插件提供下载
jQuery 是继 prototype 之后又一个优秀的 Javascript 框架.其宗旨是—写更少的代码,做更多的事情.它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及 的 ...
- 240多个jQuery插件
概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架.其宗旨是—写更少的代码,做更多的事情.它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不 ...
- 海量jQuery插件
转自:http://blog.csdn.net/zzq58157383/article/details/6900142 提醒大家在使用的时候注意jQuery包的版本问题,最好是使用相同的版本,因为使用 ...
- jquery插件下载地址
以下是本人收集的jquery插件下载地址: .............版本自行选择. jquery官网:http://jquery.com/ jquery.validate.js 官网下载地址:htt ...
随机推荐
- 浅谈ImageList
ImageList组件用了很久,但是一直不太清楚它的实现原理,今天专门特意花了时间倒腾了下,终于弄明白了!于是在这里和大家分享下! 在设计页面中打卡工具箱-组件 找到ImageList组件,将它直接拖 ...
- 重新想象 Windows 8 Store Apps (36) - 通知: Tile 详解
[源码下载] 重新想象 Windows 8 Store Apps (36) - 通知: Tile 详解 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 通知 Tile ...
- 将HTML5封装成android应用APK文件的几种方法(转)
作为下一代的网页语言,HTML5拥有很多让人期待已久的新特性.HTML5的优势之一在于能够实现跨平台游戏编码移植,现在已经有很多公司在移动 设备上使用HTML5技术.随着HTML5跨平台支持的不断增强 ...
- DigitalOcean上SSH Key的创建(附DigitalOcean邀请)
DigitalOcean是一家云主机商家,最低配置512M内存,20G的SSD,每月只有5刀.半个月前刚刚在这上面买了一个VPS,创建Droplet的时候看见创建SSH Key的时候就有点懵,不知道这 ...
- <<摩托车修理技术与禅>>读书笔记
一旦想要求快,就表示你再也不关心它,而想去做别的事. 感触比较大的一句话.其实每个人看书,都有不同的侧重点,不同经历的人看同样的书,收获是不一样的,所以不能在乎收获多少,只要有收获就行.
- atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc
atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1 ...
- HBase读写路径的工作机制
出处:http://wuyudong.com/1946.html HBase 写路径工作机制 在HBase 中无论是增加新行还是修改已有的行,其内部流程都是相同的.HBase 接到命令后存下变化信息, ...
- 【读书笔记】iOS-对象初始化
一,分配对象. 分配是一个样的对象诞生的过程.最美好的时刻,是从操作系统获得一块内存并将其指定为存放对象的实例变量的位置.向某个类发送alloc消息的结果,就是为该类分配一块足够大的内存,以存放该内的 ...
- 【原】开发路上疑难BUG调试记录
之前遇到棘手的BUG总是在处理过后就不管了,导致后面碰到相同问题后重复工作太多.现专门开辟一篇日志以记录接下来一路上比较棘手的“坑”的修复历程: [C++篇] 1.mt.exe : general e ...
- android开发之——获取相册图片和路径
Android开发获取相册图片的方式网上有很多种,这里说一个Android4.4后的方法,因为版本越高,一些老的api就会被弃用,新的api和老的api不兼容,导致出现很多问题. 比如:managed ...