mirror of
				https://github.com/twbs/bootstrap.git
				synced 2025-10-30 00:05:32 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* ==========================================================
 | |
|  * Bootstrap: alert.js v3.0.0
 | |
|  * http://twitter.github.com/bootstrap/javascript.html#alerts
 | |
|  * ==========================================================
 | |
|  * Copyright 2013 Twitter, Inc.
 | |
|  *
 | |
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | |
|  * you may not use this file except in compliance with the License.
 | |
|  * You may obtain a copy of the License at
 | |
|  *
 | |
|  * http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  * Unless required by applicable law or agreed to in writing, software
 | |
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  * See the License for the specific language governing permissions and
 | |
|  * limitations under the 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('bs:alert:close'))
 | |
| 
 | |
|     if (e.isDefaultPrevented()) return
 | |
| 
 | |
|     $parent.removeClass('in')
 | |
| 
 | |
|     function removeElement() {
 | |
|       $parent.trigger('bs-closed').remove()
 | |
|     }
 | |
| 
 | |
|     $.support.transition && $parent.hasClass('fade') ?
 | |
|       $parent.on($.support.transition.end, removeElement) :
 | |
|       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.bs-data-api', dismiss, Alert.prototype.close)
 | |
| 
 | |
| }(window.jQuery);
 |