2014-07-12 07:34:47 +02:00
---
2015-08-15 07:45:55 +02:00
layout: docs
2014-07-12 07:34:47 +02:00
title: Alerts
2016-10-03 03:19:47 +02:00
description: Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.
2015-08-06 02:47:45 +02:00
group: components
2019-01-08 17:33:28 +01:00
aliases:
2019-01-30 20:52:42 +01:00
- "/components/"
2019-02-11 20:15:34 +01:00
- "/docs/4.3/components/"
2017-05-28 08:01:14 +02:00
toc: true
2014-07-12 07:34:47 +02:00
---
2015-04-18 04:51:15 +02:00
## Examples
2015-04-17 01:56:40 +02:00
2019-02-19 15:19:02 +01:00
Alerts are available for any length of text, as well as an optional dismiss button. For proper styling, use one of the eight **required** contextual classes (e.g., `.alert-success` ). For inline dismissal, use the [alerts JavaScript plugin ](#dismissing ).
2014-07-12 07:34:47 +02:00
2019-01-08 17:33:28 +01:00
{{< example > }}
{{< alerts.inline > }}
{{- range (index $.Site.Data "theme-colors") }}
< div class = "alert alert-{{ .name }}" role = "alert" >
A simple {{ .name }} alert—check it out!
< / div > {{- end -}}
{{< / alerts.inline > }}
{{< / example > }}
2014-07-12 07:34:47 +02:00
2019-01-08 17:33:28 +01:00
{{< callout info > }}
{{< partial " callout-warning-color-assistive-technologies . md " > }}
{{< / callout > }}
2016-02-17 11:22:48 +01:00
2014-07-12 07:34:47 +02:00
### Link color
Use the `.alert-link` utility class to quickly provide matching colored links within any alert.
2019-01-08 17:33:28 +01:00
{{< example > }}
{{< alerts.inline > }}
{{- range (index $.Site.Data "theme-colors") }}
< div class = "alert alert-{{ .name }}" role = "alert" >
A simple {{ .name }} alert with < a href = "#" class = "alert-link" > an example link< / a > . Give it a click if you like.
< / div > {{ end -}}
{{< / alerts.inline > }}
{{< / example > }}
2015-03-31 05:50:34 +02:00
2016-02-04 05:43:12 +01:00
### Additional content
2017-01-16 06:33:32 +01:00
Alerts can also contain additional HTML elements like headings, paragraphs and dividers.
2016-02-04 05:43:12 +01:00
2019-01-08 17:33:28 +01:00
{{< example > }}
2016-02-04 05:43:12 +01:00
< div class = "alert alert-success" role = "alert" >
< h4 class = "alert-heading" > Well done!< / h4 >
< p > Aww yeah, you successfully read this important alert message. This example text is going to run a bit longer so that you can see how spacing within an alert works with this kind of content.< / p >
2017-01-16 06:33:32 +01:00
< hr >
2016-09-09 07:16:28 +02:00
< p class = "mb-0" > Whenever you need to, be sure to use margin utilities to keep things nice and tidy.< / p >
2016-02-04 05:43:12 +01:00
< / div >
2019-01-08 17:33:28 +01:00
{{< / example > }}
2016-02-04 05:43:12 +01: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.
2016-10-28 00:13:17 +02:00
- To animate alerts when dismissing them, be sure to add the `.fade` and `.show` classes.
2015-04-18 04:51:15 +02:00
You can see this in action with a live demo:
2015-03-31 05:50:34 +02:00
2019-01-08 17:33:28 +01:00
{{< example > }}
2016-10-28 00:13:17 +02:00
< div class = "alert alert-warning alert-dismissible fade show" role = "alert" >
2017-08-25 03:11:36 +02:00
< strong > Holy guacamole!< / strong > You should check in on some of those fields below.
2015-03-31 05:50:34 +02:00
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
2019-01-08 17:33:28 +01:00
{{< / example > }}
2015-03-31 05:50:34 +02:00
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:
2019-01-08 17:33:28 +01:00
{{< highlight js > }}
2018-08-24 11:46:05 +02:00
var alertList = document.querySelectorAll('.alert')
alertList.forEach(function (alert) {
new bootstrap.Alert(alert)
})
2019-01-08 17:33:28 +01:00
{{< / highlight > }}
2015-03-31 05:50:34 +02:00
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
2019-01-08 17:33:28 +01:00
{{< highlight html > }}
2015-03-31 05:50:34 +02:00
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
2019-01-08 17:33:28 +01:00
{{< / highlight > }}
2015-03-31 05:50:34 +02:00
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
2018-08-24 11:46:05 +02:00
You can create an alert instance with the alert constructor, for example:
2019-01-08 17:33:28 +01:00
{{< highlight js > }}
2018-08-24 11:46:05 +02:00
var myAlert = document.getElementById('myAlert')
var bsAlert = new bootstrap.Alert(myAlert)
2019-01-08 17:33:28 +01:00
{{< / highlight > }}
2018-08-24 11:46:05 +02:00
This 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.)
2015-08-11 01:36:44 +02:00
| Method | Description |
| --- | --- |
2018-08-24 11:46:05 +02:00
| `close` | Closes an alert by removing it from the DOM. If the `.fade` and `.show` classes are present on the element, the alert will fade out before it is removed. |
| `dispose` | Destroys an element's alert. |
| `_getInstance` | *Static* method which allows you to get the alert instance associated to a DOM element, you can use it like this: `bootstrap.Alert._getInstance(alert)` |
2015-03-31 05:50:34 +02:00
2019-01-08 17:33:28 +01:00
{{< highlight js > }}
2018-08-24 11:46:05 +02:00
var alertNode = document.querySelector('.alert')
var alert = bootstrap.Alert._getInstance(alertNode)
alert.close()
2019-01-08 17:33:28 +01:00
{{< / highlight > }}
2015-03-31 05:50:34 +02:00
### Events
Bootstrap's alert plugin exposes a few events for hooking into alert functionality.
2015-08-11 01:36:44 +02:00
| Event | Description |
| --- | --- |
| `close.bs.alert` | This event fires immediately when the < code > close</ code > instance method is called. |
| `closed.bs.alert` | This event is fired when the alert has been closed (will wait for CSS transitions to complete). |
2015-03-31 05:50:34 +02:00
2019-01-08 17:33:28 +01:00
{{< highlight js > }}
2018-08-24 11:46:05 +02:00
var myAlert = document.getElementById('myAlert')
myAlert.addEventListener('closed.bs.alert', function () {
// do something…
2015-03-31 05:50:34 +02:00
})
2019-01-08 17:33:28 +01:00
{{< / highlight > }}