2014-07-12 07:34:47 +02:00
---
layout: page
title: Alerts
2015-08-06 02:47:45 +02:00
group: components
2014-07-12 07:34:47 +02:00
---
2015-04-18 04:51:15 +02:00
Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.
2014-07-12 07:34:47 +02:00
2015-05-29 10:58:52 +02:00
## Contents
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
2015-04-18 04:51:15 +02:00
## Examples
2015-04-17 01:56:40 +02:00
2015-04-18 04:51:15 +02:00
Alerts are available for any length of text, as well as an optional dismiss button. For proper styling, use one of the four **required** contextual classes (e.g., `.alert-success` ). For inline dismissal, use the [alerts jQuery plugin ](#dismissing ).
2014-07-12 07:34:47 +02:00
{% example html %}
< div class = "alert alert-success" role = "alert" >
< strong > Well done!< / strong > You successfully read this important alert message.
< / div >
< div class = "alert alert-info" role = "alert" >
< strong > Heads up!< / strong > This alert needs your attention, but it's not super important.
< / div >
< div class = "alert alert-warning" role = "alert" >
< strong > Warning!< / strong > Better check yourself, you're not looking too good.
< / div >
< div class = "alert alert-danger" role = "alert" >
< strong > Oh snap!< / strong > Change a few things up and try submitting again.
< / div >
{% endexample %}
### Link color
Use the `.alert-link` utility class to quickly provide matching colored links within any alert.
{% example html %}
< div class = "alert alert-success" role = "alert" >
< strong > Well done!< / strong > You successfully read < a href = "#" class = "alert-link" > this important alert message< / a > .
< / div >
< div class = "alert alert-info" role = "alert" >
< strong > Heads up!< / strong > This < a href = "#" class = "alert-link" > alert needs your attention< / a > , but it's not super important.
< / div >
< div class = "alert alert-warning" role = "alert" >
< strong > Warning!< / strong > Better check yourself, you're < a href = "#" class = "alert-link" > not looking too good< / a > .
< / div >
< div class = "alert alert-danger" role = "alert" >
< strong > Oh snap!< / strong > < a href = "#" class = "alert-link" > Change a few things up< / a > and try submitting again.
< / div >
{% endexample %}
2015-03-31 05:50:34 +02:00
2015-04-18 04:51:15 +02:00
### Dismissing
2015-03-31 05:50:34 +02:00
2015-04-18 04:51:15 +02:00
Using the alert JavaScript plugin, it's possible to dismiss any alert inline. Here's how:
- Be sure you've loaded the alert plugin, or the compiled Bootstrap JavaScript.
- Add a dismiss button and the `.alert-dismissible` class, which adds extra padding to the right of the alert and positions the `.close` button.
- On the dismiss button, add the `data-dismiss="alert"` attribute, which triggers the JavaScript functionality. Be sure to use the `<button>` element with it for proper behavior across all devices.
- To animate alerts when dismissing them, be sure to add the `.fade` and `.in` classes.
You can see this in action with a live demo:
2015-03-31 05:50:34 +02:00
{% example html %}
< div class = "alert alert-warning alert-dismissible fade in" role = "alert" >
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< span class = "sr-only" > Close< / span >
< / button >
2015-04-18 04:51:15 +02:00
< strong > Holy guacamole!< / strong > You should check in on some of those fields below.
2015-03-31 05:50:34 +02:00
< / div >
{% endexample %}
2015-04-18 04:51:15 +02:00
## JavaScript behavior
2015-03-31 05:50:34 +02:00
2015-04-18 04:51:15 +02:00
### Triggers
2015-03-31 05:50:34 +02:00
Enable dismissal of an alert via JavaScript:
{% highlight js %}
$(".alert").alert()
{% endhighlight %}
2015-04-18 04:51:15 +02:00
Or with `data` attributes on a button **within the alert** , as demonstrated above:
2015-03-31 05:50:34 +02:00
{% highlight html %}
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< span class = "sr-only" > Close< / span >
< / button >
{% endhighlight %}
2015-04-18 04:51:15 +02:00
Note that closing an alert will remove it from the DOM.
2015-03-31 05:50:34 +02:00
### Methods
#### $().alert()
Makes an alert listen for click events on descendant elements which have the `data-dismiss="alert"` attribute. (Not necessary when using the data-api's auto-initialization.)
#### $().alert('close')
Closes an alert by removing it from the DOM. If the `.fade` and `.in` classes are present on the element, the alert will fade out before it is removed.
{% highlight js %}$(".alert").alert('close'){% endhighlight %}
### Events
Bootstrap's alert plugin exposes a few events for hooking into alert functionality.
< div class = "table-responsive" >
< table class = "table table-bordered table-striped" >
< thead >
< tr >
< th style = "width: 150px;" > Event Type< / th >
< th > Description< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > close.bs.alert< / td >
< td > This event fires immediately when the < code > close< / code > instance method is called.< / td >
< / tr >
< tr >
< td > closed.bs.alert< / td >
< td > This event is fired when the alert has been closed (will wait for CSS transitions to complete).< / td >
< / tr >
< / tbody >
< / table >
< / div >
{% highlight js %}
$('#myAlert').on('closed.bs.alert', function () {
// do something…
})
{% endhighlight %}