mirror of
				https://github.com/twbs/bootstrap.git
				synced 2025-10-31 00:04:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* ========================================================================
 | |
|  * Bootstrap: alert.js v3.1.0
 | |
|  * http://getbootstrap.com/javascript/#alerts
 | |
|  * ========================================================================
 | |
|  * Copyright 2013 Twitter, Inc.
 | |
|  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 | |
|  * ======================================================================== */
 | |
| 
 | |
| 
 | |
| +function ($) { 'use strict';
 | |
| 
 | |
|   // ALERT CLASS DEFINITION
 | |
|   // ======================
 | |
| 
 | |
|   var dismiss = '[data-dismiss="alert"]'
 | |
|   var Alert   = function (el) {
 | |
|     $(el).on('click', dismiss, this.close)
 | |
|   }
 | |
| 
 | |
|   Alert.prototype.close = function (e) {
 | |
|     var $this    = $(this)
 | |
|     var selector = $this.attr('data-target')
 | |
| 
 | |
|     if (!selector) {
 | |
|       selector = $this.attr('href')
 | |
|       selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
 | |
|     }
 | |
| 
 | |
|     var $parent = $(selector)
 | |
| 
 | |
|     if (e) e.preventDefault()
 | |
| 
 | |
|     if (!$parent.length) {
 | |
|       $parent = $this.hasClass('alert') ? $this : $this.parent()
 | |
|     }
 | |
| 
 | |
|     $parent.trigger(e = $.Event('close.bs.alert'))
 | |
| 
 | |
|     if (e.isDefaultPrevented()) return
 | |
| 
 | |
|     $parent.removeClass('in')
 | |
| 
 | |
|     function removeElement() {
 | |
|       $parent.trigger('closed.bs.alert').remove()
 | |
|     }
 | |
| 
 | |
|     $.support.transition && $parent.hasClass('fade') ?
 | |
|       $parent
 | |
|         .one($.support.transition.end, removeElement)
 | |
|         .emulateTransitionEnd(150) :
 | |
|       removeElement()
 | |
|   }
 | |
| 
 | |
| 
 | |
|   // ALERT PLUGIN DEFINITION
 | |
|   // =======================
 | |
| 
 | |
|   var old = $.fn.alert
 | |
| 
 | |
|   $.fn.alert = function (option) {
 | |
|     return this.each(function () {
 | |
|       var $this = $(this)
 | |
|       var data  = $this.data('bs.alert')
 | |
| 
 | |
|       if (!data) $this.data('bs.alert', (data = new Alert(this)))
 | |
|       if (typeof option == 'string') data[option].call($this)
 | |
|     })
 | |
|   }
 | |
| 
 | |
|   $.fn.alert.Constructor = Alert
 | |
| 
 | |
| 
 | |
|   // ALERT NO CONFLICT
 | |
|   // =================
 | |
| 
 | |
|   $.fn.alert.noConflict = function () {
 | |
|     $.fn.alert = old
 | |
|     return this
 | |
|   }
 | |
| 
 | |
| 
 | |
|   // ALERT DATA-API
 | |
|   // ==============
 | |
| 
 | |
|   $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
 | |
| 
 | |
| }(jQuery);
 |