2020-12-07 18:28:07 +02:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< meta name = "description" content = "Bring Bootstrap to life with our optional JavaScript plugins. Learn about each plugin, our data and programmatic API options, and more." >
< meta name = "author" content = "Mark Otto, Jacob Thornton, and Bootstrap contributors" >
< meta name = "generator" content = "Hugo 0.79.0" >
< meta name = "docsearch:language" content = "en" >
< meta name = "docsearch:version" content = "5.0" >
< title > JavaScript · Bootstrap v5.0< / title >
< link rel = "canonical" href = "https://getbootstrap.com/docs/5.0/getting-started/javascript/" >
<!-- Bootstrap core CSS -->
< link href = "/docs/5.0/dist/css/bootstrap.min.css" rel = "stylesheet" integrity = "sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin = "anonymous" >
< link href = "/docs/5.0/assets/css/docs.css" rel = "stylesheet" >
<!-- Favicons -->
< link rel = "apple-touch-icon" href = "/docs/5.0/assets/img/favicons/apple-touch-icon.png" sizes = "180x180" >
< link rel = "icon" href = "/docs/5.0/assets/img/favicons/favicon-32x32.png" sizes = "32x32" type = "image/png" >
< link rel = "icon" href = "/docs/5.0/assets/img/favicons/favicon-16x16.png" sizes = "16x16" type = "image/png" >
< link rel = "manifest" href = "/docs/5.0/assets/img/favicons/manifest.json" >
< link rel = "mask-icon" href = "/docs/5.0/assets/img/favicons/safari-pinned-tab.svg" color = "#7952b3" >
< link rel = "icon" href = "/docs/5.0/assets/img/favicons/favicon.ico" >
< meta name = "theme-color" content = "#7952b3" >
<!-- Twitter -->
< meta name = "twitter:card" content = "summary" >
< meta name = "twitter:site" content = "@getbootstrap" >
< meta name = "twitter:creator" content = "@getbootstrap" >
< meta name = "twitter:title" content = "JavaScript" >
< meta name = "twitter:description" content = "Bring Bootstrap to life with our optional JavaScript plugins. Learn about each plugin, our data and programmatic API options, and more." >
< meta name = "twitter:image" content = "https://getbootstrap.com/docs/5.0/assets/brand/bootstrap-social.png" >
<!-- Facebook -->
< meta property = "og:url" content = "https://getbootstrap.com/docs/5.0/getting-started/javascript/" >
< meta property = "og:title" content = "JavaScript" >
< meta property = "og:description" content = "Bring Bootstrap to life with our optional JavaScript plugins. Learn about each plugin, our data and programmatic API options, and more." >
< meta property = "og:type" content = "article" >
< meta property = "og:image" content = "https://getbootstrap.com/docs/5.0/assets/brand/bootstrap-social.png" >
< meta property = "og:image:type" content = "image/png" >
< meta property = "og:image:width" content = "1000" >
< meta property = "og:image:height" content = "500" >
< script >
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-146052-10', 'getbootstrap.com');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
< / script >
< script async src = "https://www.google-analytics.com/analytics.js" > < / script >
< / head >
< body >
< div class = "skippy overflow-hidden" >
< div class = "container-xl" >
< a class = "visually-hidden-focusable d-inline-flex p-2 m-1" href = "#content" > Skip to main content< / a >
< a class = "visually-hidden-focusable d-none d-md-inline-flex p-2 m-1" href = "#bd-docs-nav" > Skip to docs navigation< / a >
< / div >
< / div >
< header class = "navbar navbar-expand-md navbar-dark bd-navbar" >
< nav class = "container-xxl flex-wrap flex-md-nowrap" aria-label = "Main navigation" >
< a class = "navbar-brand p-0 me-2" href = "/" aria-label = "Bootstrap" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "40" height = "32" class = "d-block my-1" viewBox = "0 0 118 94" role = "img" > < title > Bootstrap< / title > < path fill-rule = "evenodd" clip-rule = "evenodd" d = "M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z" fill = "currentColor" / > < / svg >
< / a >
< button class = "navbar-toggler" type = "button" data-bs-toggle = "collapse" data-bs-target = "#bdNavbar" aria-controls = "bdNavbar" aria-expanded = "false" aria-label = "Toggle navigation" >
< svg class = "bi" viewBox = "0 0 16 16" xmlns = "http://www.w3.org/2000/svg" >
< path fill-rule = "evenodd" d = "M2.5 11.5A.5.5 0 0 1 3 11h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 3 3h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z" / >
< / svg >
< / button >
< div class = "collapse navbar-collapse" id = "bdNavbar" >
< ul class = "navbar-nav flex-row flex-wrap bd-navbar-nav pt-2 py-md-0" >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Bootstrap');" > Home< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2 active" aria-current = "true" href = "/docs/5.0/getting-started/introduction/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Docs');" > Docs< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "/docs/5.0/examples/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Examples');" > Examples< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "https://icons.getbootstrap.com/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Icons');" target = "_blank" rel = "noopener" > Icons< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "https://themes.getbootstrap.com/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target = "_blank" rel = "noopener" > Themes< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "https://blog.getbootstrap.com/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Blog');" target = "_blank" rel = "noopener" > Blog< / a >
< / li >
< / ul >
< hr class = "d-md-none text-white-50" >
< ul class = "navbar-nav flex-row flex-wrap ms-md-auto" >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "https://github.com/twbs" target = "_blank" rel = "noopener" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "36" height = "36" class = "navbar-nav-svg d-inline-block align-text-top" viewBox = "0 0 512 499.36" role = "img" > < title > GitHub< / title > < path fill = "currentColor" fill-rule = "evenodd" d = "M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z" / > < / svg >
< small class = "d-md-none ms-2" > GitHub< / small >
< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "https://twitter.com/getbootstrap" target = "_blank" rel = "noopener" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "36" height = "36" class = "navbar-nav-svg d-inline-block align-text-top" viewBox = "0 0 512 416.32" role = "img" > < title > Twitter< / title > < path fill = "currentColor" d = "M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92" / > < / svg >
< small class = "d-md-none ms-2" > Twitter< / small >
< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "https://bootstrap-slack.herokuapp.com/" target = "_blank" rel = "noopener" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "36" height = "36" class = "navbar-nav-svg d-inline-block align-text-top" viewBox = "0 0 512 512" role = "img" > < title > Slack< / title > < path fill = "currentColor" d = "M210.787 234.832l68.31-22.883 22.1 65.977-68.309 22.882z" / > < path fill = "currentColor" d = "M490.54 185.6C437.7 9.59 361.6-31.34 185.6 21.46S-31.3 150.4 21.46 326.4 150.4 543.3 326.4 490.54 543.34 361.6 490.54 185.6zM401.7 299.8l-33.15 11.05 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.38-68.36 22.92 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.43-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.5-13.92 2.87-29.06 16.78-33.56l33.12-11.03-22.1-65.9-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.48-13.93 2.89-29.07 16.81-33.58l33.15-11.05-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.46 34.38 68.36-22.92-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.47 34.42 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.87 29.06-16.78 33.56L329.7 194.6l22.1 65.9 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.88 29.07-16.81 33.57z" / > < / svg >
< small class = "d-md-none ms-2" > Slack< / small >
< / a >
< / li >
< li class = "nav-item col-6 col-md-auto" >
< a class = "nav-link p-2" href = "https://opencollective.com/bootstrap" target = "_blank" rel = "noopener" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "36" height = "36" fill = "currentColor" fill-rule = "evenodd" class = "navbar-nav-svg d-inline-block align-text-top" viewBox = "0 0 40 41" role = "img" > < title > Open Collective< / title > < path fill-opacity = ".4" d = "M32.8 21c0 2.4-.8 4.9-2 6.9l5.1 5.1c2.5-3.4 4.1-7.6 4.1-12 0-4.6-1.6-8.8-4-12.2L30.7 14c1.2 2 2 4.3 2 7z" / > < path d = "M20 33.7a12.8 12.8 0 0 1 0-25.6c2.6 0 5 .7 7 2.1L32 5a20 20 0 1 0 .1 31.9l-5-5.2a13 13 0 0 1-7 2z" / > < / svg >
< small class = "d-md-none ms-2" > Open Collective< / small >
< / a >
< / li >
< / ul >
< a class = "btn btn-bd-download d-lg-inline-block my-2 my-md-0 ms-md-3" href = "/docs/5.0/getting-started/download/" > Download< / a >
< / div >
< / nav >
< / header >
< nav class = "bd-subnavbar py-2" aria-label = "Secondary navigation" >
< div class = "container-xxl d-flex align-items-md-center" >
< form class = "bd-search position-relative me-auto" >
< input type = "search" class = "form-control" id = "search-input" placeholder = "Search docs..." aria-label = "Search docs for..." autocomplete = "off" data-bd-docs-version = "5.0" >
< / form >
< div class = "dropdown ms-3" >
< button class = "btn btn-bd-light dropdown-toggle" id = "bd-versions" data-bs-toggle = "dropdown" aria-expanded = "false" data-bs-display = "static" >
< span class = "d-none d-lg-inline" > Bootstrap< / span > v5.0
< / button >
< ul class = "dropdown-menu dropdown-menu-end" aria-labelledby = "bd-versions" >
< li > < a class = "dropdown-item current" aria-current = "true" href = "/docs/5.0/" > Latest (5.0.x)< / a > < / li >
< li > < hr class = "dropdown-divider" > < / li >
2021-01-19 18:10:14 +02:00
< li > < a class = "dropdown-item" href = "https://getbootstrap.com/docs/4.6/" > v4.6.x< / a > < / li >
2020-12-07 18:28:07 +02:00
< li > < a class = "dropdown-item" href = "https://getbootstrap.com/docs/3.4/" > v3.4.1< / a > < / li >
< li > < a class = "dropdown-item" href = "https://getbootstrap.com/2.3.2/" > v2.3.2< / a > < / li >
< li > < hr class = "dropdown-divider" > < / li >
< li > < a class = "dropdown-item" href = "/docs/versions/" > All versions< / a > < / li >
< / ul >
< / div >
< button class = "btn bd-sidebar-toggle d-md-none py-0 px-1 ms-3 order-3 collapsed" type = "button" data-bs-toggle = "collapse" data-bs-target = "#bd-docs-nav" aria-controls = "bd-docs-nav" aria-expanded = "false" aria-label = "Toggle docs navigation" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" class = "bi bi-expand" viewBox = "0 0 16 16" >
< title > Expand< / title >
< path fill-rule = "evenodd" d = "M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zM7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10z" / >
< / svg >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" class = "bi bi-collapse" viewBox = "0 0 16 16" >
< title > Collapse< / title >
< path fill-rule = "evenodd" d = "M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zm7-8a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 4.293V.5A.5.5 0 0 1 8 0zm-.5 11.707l-1.146 1.147a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 11.707V15.5a.5.5 0 0 1-1 0v-3.793z" / >
< / svg >
< / button >
< / div >
< / nav >
< div class = "container-xxl my-md-4 bd-layout" >
< aside class = "bd-sidebar" >
< nav class = "collapse bd-links" id = "bd-docs-nav" aria-label = "Docs navigation" > < ul class = "list-unstyled mb-0 py-3 pt-md-1" >
< li class = "mb-1 active" >
< button class = "btn d-inline-flex align-items-center rounded" data-bs-toggle = "collapse" data-bs-target = "#getting-started-collapse" aria-expanded = "true" aria-current = "true" >
Getting started
< / button >
< div class = "collapse show" id = "getting-started-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/getting-started/introduction/" class = "d-inline-flex align-items-center rounded" > Introduction< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/download/" class = "d-inline-flex align-items-center rounded" > Download< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/contents/" class = "d-inline-flex align-items-center rounded" > Contents< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/browsers-devices/" class = "d-inline-flex align-items-center rounded" > Browsers & devices< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/javascript/" class = "d-inline-flex align-items-center rounded active" aria-current = "page" > JavaScript< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/build-tools/" class = "d-inline-flex align-items-center rounded" > Build tools< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/webpack/" class = "d-inline-flex align-items-center rounded" > Webpack< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/accessibility/" class = "d-inline-flex align-items-center rounded" > Accessibility< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/rfs/" class = "d-inline-flex align-items-center rounded" > RFS< / a > < / li >
< li > < a href = "/docs/5.0/getting-started/rtl/" class = "d-inline-flex align-items-center rounded" > RTL< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#customize-collapse" aria-expanded = "false" >
Customize
< / button >
< div class = "collapse" id = "customize-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/customize/overview/" class = "d-inline-flex align-items-center rounded" > Overview< / a > < / li >
< li > < a href = "/docs/5.0/customize/sass/" class = "d-inline-flex align-items-center rounded" > Sass< / a > < / li >
< li > < a href = "/docs/5.0/customize/options/" class = "d-inline-flex align-items-center rounded" > Options< / a > < / li >
< li > < a href = "/docs/5.0/customize/color/" class = "d-inline-flex align-items-center rounded" > Color< / a > < / li >
< li > < a href = "/docs/5.0/customize/components/" class = "d-inline-flex align-items-center rounded" > Components< / a > < / li >
< li > < a href = "/docs/5.0/customize/css-variables/" class = "d-inline-flex align-items-center rounded" > CSS variables< / a > < / li >
< li > < a href = "/docs/5.0/customize/optimize/" class = "d-inline-flex align-items-center rounded" > Optimize< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#layout-collapse" aria-expanded = "false" >
Layout
< / button >
< div class = "collapse" id = "layout-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/layout/breakpoints/" class = "d-inline-flex align-items-center rounded" > Breakpoints< / a > < / li >
< li > < a href = "/docs/5.0/layout/containers/" class = "d-inline-flex align-items-center rounded" > Containers< / a > < / li >
< li > < a href = "/docs/5.0/layout/grid/" class = "d-inline-flex align-items-center rounded" > Grid< / a > < / li >
< li > < a href = "/docs/5.0/layout/columns/" class = "d-inline-flex align-items-center rounded" > Columns< / a > < / li >
< li > < a href = "/docs/5.0/layout/gutters/" class = "d-inline-flex align-items-center rounded" > Gutters< / a > < / li >
< li > < a href = "/docs/5.0/layout/utilities/" class = "d-inline-flex align-items-center rounded" > Utilities< / a > < / li >
< li > < a href = "/docs/5.0/layout/z-index/" class = "d-inline-flex align-items-center rounded" > Z-index< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#content-collapse" aria-expanded = "false" >
Content
< / button >
< div class = "collapse" id = "content-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/content/reboot/" class = "d-inline-flex align-items-center rounded" > Reboot< / a > < / li >
< li > < a href = "/docs/5.0/content/typography/" class = "d-inline-flex align-items-center rounded" > Typography< / a > < / li >
< li > < a href = "/docs/5.0/content/images/" class = "d-inline-flex align-items-center rounded" > Images< / a > < / li >
< li > < a href = "/docs/5.0/content/tables/" class = "d-inline-flex align-items-center rounded" > Tables< / a > < / li >
< li > < a href = "/docs/5.0/content/figures/" class = "d-inline-flex align-items-center rounded" > Figures< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#forms-collapse" aria-expanded = "false" >
Forms
< / button >
< div class = "collapse" id = "forms-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/forms/overview/" class = "d-inline-flex align-items-center rounded" > Overview< / a > < / li >
< li > < a href = "/docs/5.0/forms/form-control/" class = "d-inline-flex align-items-center rounded" > Form control< / a > < / li >
< li > < a href = "/docs/5.0/forms/select/" class = "d-inline-flex align-items-center rounded" > Select< / a > < / li >
< li > < a href = "/docs/5.0/forms/checks-radios/" class = "d-inline-flex align-items-center rounded" > Checks & radios< / a > < / li >
< li > < a href = "/docs/5.0/forms/range/" class = "d-inline-flex align-items-center rounded" > Range< / a > < / li >
< li > < a href = "/docs/5.0/forms/input-group/" class = "d-inline-flex align-items-center rounded" > Input group< / a > < / li >
< li > < a href = "/docs/5.0/forms/floating-labels/" class = "d-inline-flex align-items-center rounded" > Floating labels< / a > < / li >
< li > < a href = "/docs/5.0/forms/layout/" class = "d-inline-flex align-items-center rounded" > Layout< / a > < / li >
< li > < a href = "/docs/5.0/forms/validation/" class = "d-inline-flex align-items-center rounded" > Validation< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#components-collapse" aria-expanded = "false" >
Components
< / button >
< div class = "collapse" id = "components-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/components/accordion/" class = "d-inline-flex align-items-center rounded" > Accordion< / a > < / li >
< li > < a href = "/docs/5.0/components/alerts/" class = "d-inline-flex align-items-center rounded" > Alerts< / a > < / li >
< li > < a href = "/docs/5.0/components/badge/" class = "d-inline-flex align-items-center rounded" > Badge< / a > < / li >
< li > < a href = "/docs/5.0/components/breadcrumb/" class = "d-inline-flex align-items-center rounded" > Breadcrumb< / a > < / li >
< li > < a href = "/docs/5.0/components/buttons/" class = "d-inline-flex align-items-center rounded" > Buttons< / a > < / li >
< li > < a href = "/docs/5.0/components/button-group/" class = "d-inline-flex align-items-center rounded" > Button group< / a > < / li >
< li > < a href = "/docs/5.0/components/card/" class = "d-inline-flex align-items-center rounded" > Card< / a > < / li >
< li > < a href = "/docs/5.0/components/carousel/" class = "d-inline-flex align-items-center rounded" > Carousel< / a > < / li >
< li > < a href = "/docs/5.0/components/close-button/" class = "d-inline-flex align-items-center rounded" > Close button< / a > < / li >
< li > < a href = "/docs/5.0/components/collapse/" class = "d-inline-flex align-items-center rounded" > Collapse< / a > < / li >
< li > < a href = "/docs/5.0/components/dropdowns/" class = "d-inline-flex align-items-center rounded" > Dropdowns< / a > < / li >
< li > < a href = "/docs/5.0/components/list-group/" class = "d-inline-flex align-items-center rounded" > List group< / a > < / li >
< li > < a href = "/docs/5.0/components/modal/" class = "d-inline-flex align-items-center rounded" > Modal< / a > < / li >
< li > < a href = "/docs/5.0/components/navs-tabs/" class = "d-inline-flex align-items-center rounded" > Navs & tabs< / a > < / li >
< li > < a href = "/docs/5.0/components/navbar/" class = "d-inline-flex align-items-center rounded" > Navbar< / a > < / li >
< li > < a href = "/docs/5.0/components/pagination/" class = "d-inline-flex align-items-center rounded" > Pagination< / a > < / li >
< li > < a href = "/docs/5.0/components/popovers/" class = "d-inline-flex align-items-center rounded" > Popovers< / a > < / li >
< li > < a href = "/docs/5.0/components/progress/" class = "d-inline-flex align-items-center rounded" > Progress< / a > < / li >
< li > < a href = "/docs/5.0/components/scrollspy/" class = "d-inline-flex align-items-center rounded" > Scrollspy< / a > < / li >
< li > < a href = "/docs/5.0/components/spinners/" class = "d-inline-flex align-items-center rounded" > Spinners< / a > < / li >
< li > < a href = "/docs/5.0/components/toasts/" class = "d-inline-flex align-items-center rounded" > Toasts< / a > < / li >
< li > < a href = "/docs/5.0/components/tooltips/" class = "d-inline-flex align-items-center rounded" > Tooltips< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#helpers-collapse" aria-expanded = "false" >
Helpers
< / button >
< div class = "collapse" id = "helpers-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/helpers/clearfix/" class = "d-inline-flex align-items-center rounded" > Clearfix< / a > < / li >
< li > < a href = "/docs/5.0/helpers/colored-links/" class = "d-inline-flex align-items-center rounded" > Colored links< / a > < / li >
< li > < a href = "/docs/5.0/helpers/ratio/" class = "d-inline-flex align-items-center rounded" > Ratio< / a > < / li >
< li > < a href = "/docs/5.0/helpers/position/" class = "d-inline-flex align-items-center rounded" > Position< / a > < / li >
< li > < a href = "/docs/5.0/helpers/visually-hidden/" class = "d-inline-flex align-items-center rounded" > Visually hidden< / a > < / li >
< li > < a href = "/docs/5.0/helpers/stretched-link/" class = "d-inline-flex align-items-center rounded" > Stretched link< / a > < / li >
< li > < a href = "/docs/5.0/helpers/text-truncation/" class = "d-inline-flex align-items-center rounded" > Text truncation< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#utilities-collapse" aria-expanded = "false" >
Utilities
< / button >
< div class = "collapse" id = "utilities-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/utilities/api/" class = "d-inline-flex align-items-center rounded" > API< / a > < / li >
< li > < a href = "/docs/5.0/utilities/borders/" class = "d-inline-flex align-items-center rounded" > Borders< / a > < / li >
< li > < a href = "/docs/5.0/utilities/colors/" class = "d-inline-flex align-items-center rounded" > Colors< / a > < / li >
< li > < a href = "/docs/5.0/utilities/display/" class = "d-inline-flex align-items-center rounded" > Display< / a > < / li >
< li > < a href = "/docs/5.0/utilities/flex/" class = "d-inline-flex align-items-center rounded" > Flex< / a > < / li >
< li > < a href = "/docs/5.0/utilities/float/" class = "d-inline-flex align-items-center rounded" > Float< / a > < / li >
< li > < a href = "/docs/5.0/utilities/interactions/" class = "d-inline-flex align-items-center rounded" > Interactions< / a > < / li >
< li > < a href = "/docs/5.0/utilities/overflow/" class = "d-inline-flex align-items-center rounded" > Overflow< / a > < / li >
< li > < a href = "/docs/5.0/utilities/position/" class = "d-inline-flex align-items-center rounded" > Position< / a > < / li >
< li > < a href = "/docs/5.0/utilities/shadows/" class = "d-inline-flex align-items-center rounded" > Shadows< / a > < / li >
< li > < a href = "/docs/5.0/utilities/sizing/" class = "d-inline-flex align-items-center rounded" > Sizing< / a > < / li >
< li > < a href = "/docs/5.0/utilities/spacing/" class = "d-inline-flex align-items-center rounded" > Spacing< / a > < / li >
< li > < a href = "/docs/5.0/utilities/text/" class = "d-inline-flex align-items-center rounded" > Text< / a > < / li >
< li > < a href = "/docs/5.0/utilities/vertical-align/" class = "d-inline-flex align-items-center rounded" > Vertical align< / a > < / li >
< li > < a href = "/docs/5.0/utilities/visibility/" class = "d-inline-flex align-items-center rounded" > Visibility< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#extend-collapse" aria-expanded = "false" >
Extend
< / button >
< div class = "collapse" id = "extend-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/extend/approach/" class = "d-inline-flex align-items-center rounded" > Approach< / a > < / li >
< li > < a href = "/docs/5.0/extend/icons/" class = "d-inline-flex align-items-center rounded" > Icons< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "mb-1" >
< button class = "btn d-inline-flex align-items-center rounded collapsed" data-bs-toggle = "collapse" data-bs-target = "#about-collapse" aria-expanded = "false" >
About
< / button >
< div class = "collapse" id = "about-collapse" >
< ul class = "list-unstyled fw-normal pb-1 small" >
< li > < a href = "/docs/5.0/about/overview/" class = "d-inline-flex align-items-center rounded" > Overview< / a > < / li >
< li > < a href = "/docs/5.0/about/team/" class = "d-inline-flex align-items-center rounded" > Team< / a > < / li >
< li > < a href = "/docs/5.0/about/brand/" class = "d-inline-flex align-items-center rounded" > Brand< / a > < / li >
< li > < a href = "/docs/5.0/about/license/" class = "d-inline-flex align-items-center rounded" > License< / a > < / li >
< li > < a href = "/docs/5.0/about/translations/" class = "d-inline-flex align-items-center rounded" > Translations< / a > < / li >
< / ul >
< / div >
< / li >
< li class = "my-3 mx-4 border-top" > < / li >
< li >
< a href = "/docs/5.0/migration/" class = "d-inline-flex align-items-center rounded" >
Migration
< / a >
< / li >
< / ul >
< / nav >
< / aside >
< main class = "bd-main order-1" >
< div class = "bd-intro ps-lg-4" >
< div class = "d-md-flex flex-md-row-reverse align-items-center justify-content-between" >
< a class = "btn btn-sm btn-bd-light mb-2 mb-md-0" href = "https://github.com/twbs/bootstrap/blob/main/site/content/docs/5.0/getting-started/javascript.md" title = "View and edit this file on GitHub" target = "_blank" rel = "noopener" > View on GitHub< / a >
< h1 class = "bd-title" id = "content" > JavaScript< / h1 >
< / div >
< p class = "bd-lead" > Bring Bootstrap to life with our optional JavaScript plugins. Learn about each plugin, our data and programmatic API options, and more.< / p >
< script async src = "https://cdn.carbonads.com/carbon.js?serve=CKYIKKJL&placement=getbootstrapcom" id = "_carbonads_js" > < / script >
< / div >
< div class = "bd-toc mt-4 mb-5 my-md-0 ps-xl-3 mb-lg-5 text-muted" >
< strong class = "d-block h6 my-2 pb-2 border-bottom" > On this page< / strong >
< nav id = "TableOfContents" >
< ul >
< li > < a href = "#individual-or-compiled" > Individual or compiled< / a > < / li >
< li > < a href = "#using-bootstrap-as-a-module" > Using Bootstrap as a module< / a > < / li >
< li > < a href = "#dependencies" > Dependencies< / a > < / li >
< li > < a href = "#still-want-to-use-jquery-its-possible" > Still want to use jQuery? It’ s possible!< / a > < / li >
< li > < a href = "#data-attributes" > Data attributes< / a > < / li >
< li > < a href = "#events" > Events< / a > < / li >
< li > < a href = "#programmatic-api" > Programmatic API< / a >
< ul >
< li > < a href = "#asynchronous-functions-and-transitions" > Asynchronous functions and transitions< / a > < / li >
< li > < a href = "#default-settings" > Default settings< / a > < / li >
< / ul >
< / li >
< li > < a href = "#no-conflict-only-if-you-use-jquery" > No conflict (only if you use jQuery)< / a > < / li >
< li > < a href = "#version-numbers" > Version numbers< / a > < / li >
< li > < a href = "#no-special-fallbacks-when-javascript-is-disabled" > No special fallbacks when JavaScript is disabled< / a > < / li >
< li > < a href = "#sanitizer" > Sanitizer< / a > < / li >
< / ul >
< / nav >
< / div >
< div class = "bd-content ps-lg-4" >
< h2 id = "individual-or-compiled" > Individual or compiled< / h2 >
< p > Plugins can be included individually (using Bootstrap’ s individual < code > js/dist/*.js< / code > ), or all at once using < code > bootstrap.js< / code > or the minified < code > bootstrap.min.js< / code > (don’ t include both).< / p >
< p > If you use a bundler (Webpack, Rollup… ), you can use < code > /js/dist/*.js< / code > files which are UMD ready.< / p >
< h2 id = "using-bootstrap-as-a-module" > Using Bootstrap as a module< / h2 >
< p > We provide a version of Bootstrap built as < code > ESM< / code > (< code > bootstrap.esm.js< / code > and < code > bootstrap.esm.min.js< / code > ) which allows you to use Bootstrap as a module in your browser, if your < a href = "https://caniuse.com/es6-module" > targeted browsers support it< / a > .< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-html" data-lang = "html" > < span class = "p" > < < / span > < span class = "nt" > script< / span > < span class = "na" > type< / span > < span class = "o" > =< / span > < span class = "s" > " module" < / span > < span class = "p" > > < / span >
< span class = "kr" > import< / span > < span class = "p" > {< / span > < span class = "nx" > Toast< / span > < span class = "p" > }< / span > < span class = "nx" > from< / span > < span class = "s1" > ' bootstrap.esm.min.js' < / span >
< span class = "nb" > Array< / span > < span class = "p" > .< / span > < span class = "nx" > from< / span > < span class = "p" > (< / span > < span class = "nb" > document< / span > < span class = "p" > .< / span > < span class = "nx" > querySelectorAll< / span > < span class = "p" > (< / span > < span class = "s1" > ' .toast' < / span > < span class = "p" > ))< / span >
< span class = "p" > .< / span > < span class = "nx" > forEach< / span > < span class = "p" > (< / span > < span class = "nx" > toastNode< / span > < span class = "p" > => < / span > < span class = "k" > new< / span > < span class = "nx" > Toast< / span > < span class = "p" > (< / span > < span class = "nx" > toastNode< / span > < span class = "p" > ))< / span >
< span class = "p" > < /< / span > < span class = "nt" > script< / span > < span class = "p" > > < / span >
< / code > < / pre > < / div > < div class = "bd-callout bd-callout-warning" >
< h2 id = "incompatible-plugins" > Incompatible plugins< / h2 >
< p > Due to browser limitations, some of our plugins, namely Dropdown, Tooltip and Popover plugins, cannot be used in a < code > < script> < / code > tag with < code > module< / code > type because they depend on Popper. For more information about the issue see < a href = "https://v8.dev/features/modules#specifiers" > here< / a > .
< / div >
< h2 id = "dependencies" > Dependencies< / h2 >
< p > Some plugins and CSS components depend on other plugins. If you include plugins individually, make sure to check for these dependencies in the docs.< / p >
< p > Our dropdowns, popovers and tooltips also depend on < a href = "https://popper.js.org/" > Popper< / a > .< / p >
< h2 id = "still-want-to-use-jquery-its-possible" > Still want to use jQuery? It’ s possible!< / h2 >
< p > Bootstrap 5 is designed to be used without jQuery, but it’ s still possible to use our components with jQuery. < strong > If Bootstrap detects < code > jQuery< / code > in the < code > window< / code > object< / strong > it’ ll add all of our components in jQuery’ s plugin system; this means you’ ll be able to do < code > $('[data-bs-toggle=" tooltip" ]').tooltip()< / code > to enable tooltips. The same goes for our other components.< / p >
< h2 id = "data-attributes" > Data attributes< / h2 >
< p > Nearly all Bootstrap plugins can be enabled and configured through HTML alone with data attributes (our preferred way of using JavaScript functionality). Be sure to < strong > only use one set of data attributes on a single element< / strong > (e.g., you cannot trigger a tooltip and modal from the same button.)< / p >
< div class = "bd-callout bd-callout-warning" >
< h2 id = "selectors" > Selectors< / h2 >
< p > Currently to query DOM elements we use the native methods < code > querySelector< / code > and < code > querySelectorAll< / code > for performance reasons, so you have to use < a href = "https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier" > valid selectors< / a > .
If you use special selectors, for example: < code > collapse:Example< / code > be sure to escape them.
< / div >
< h2 id = "events" > Events< / h2 >
< p > Bootstrap provides custom events for most plugins' unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. < code > show< / code > ) is triggered at the start of an event, and its past participle form (ex. < code > shown< / code > ) is triggered on the completion of an action.< / p >
< p > All infinitive events provide < a href = "https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault" > < code > preventDefault()< / code > < / a > functionality. This provides the ability to stop the execution of an action before it starts. Returning false from an event handler will also automatically call < code > preventDefault()< / code > .< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > myModal< / span > < span class = "o" > =< / span > < span class = "nb" > document< / span > < span class = "p" > .< / span > < span class = "nx" > getElementById< / span > < span class = "p" > (< / span > < span class = "s1" > ' myModal' < / span > < span class = "p" > )< / span >
< span class = "nx" > myModal< / span > < span class = "p" > .< / span > < span class = "nx" > addEventListener< / span > < span class = "p" > (< / span > < span class = "s1" > ' show.bs.modal' < / span > < span class = "p" > ,< / span > < span class = "kd" > function< / span > < span class = "p" > (< / span > < span class = "nx" > event< / span > < span class = "p" > )< / span > < span class = "p" > {< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span > < span class = "o" > !< / span > < span class = "nx" > data< / span > < span class = "p" > )< / span > < span class = "p" > {< / span >
< span class = "k" > return< / span > < span class = "nx" > event< / span > < span class = "p" > .< / span > < span class = "nx" > preventDefault< / span > < span class = "p" > ()< / span > < span class = "c1" > // stops modal from being shown
< / span > < span class = "c1" > < / span > < span class = "p" > }< / span >
< span class = "p" > })< / span >
< / code > < / pre > < / div > < div class = "bd-callout bd-callout-warning" >
< h2 id = "jquery-events" > jQuery events< / h2 >
< p > Bootstrap will detect jQuery if < code > jQuery< / code > is present in the < code > window< / code > object and there is no < code > data-bs-no-jquery< / code > attribute set on < code > < body> < / code > . If jQuery is found, Bootstrap will emit events thanks to jQuery’ s event system. So if you want to listen to Bootstrap’ s events, you’ ll have to use the jQuery methods (< code > .on< / code > , < code > .one< / code > ) instead of < code > addEventListener< / code > .< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "nx" > $< / span > < span class = "p" > (< / span > < span class = "s1" > ' #myTab a' < / span > < span class = "p" > ).< / span > < span class = "nx" > on< / span > < span class = "p" > (< / span > < span class = "s1" > ' shown.bs.tab' < / span > < span class = "p" > ,< / span > < span class = "kd" > function< / span > < span class = "p" > ()< / span > < span class = "p" > {< / span >
< span class = "c1" > // do something...
< / span > < span class = "c1" > < / span > < span class = "p" > })< / span >
< / code > < / pre > < / div >
< / div >
< h2 id = "programmatic-api" > Programmatic API< / h2 >
< p > All constructors accept an optional options object or nothing (which initiates a plugin with its default behavior):< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > myModalEl< / span > < span class = "o" > =< / span > < span class = "nb" > document< / span > < span class = "p" > .< / span > < span class = "nx" > getElementById< / span > < span class = "p" > (< / span > < span class = "s1" > ' myModal' < / span > < span class = "p" > )< / span >
< span class = "kd" > var< / span > < span class = "nx" > modal< / span > < span class = "o" > =< / span > < span class = "k" > new< / span > < span class = "nx" > bootstrap< / span > < span class = "p" > .< / span > < span class = "nx" > Modal< / span > < span class = "p" > (< / span > < span class = "nx" > myModalEl< / span > < span class = "p" > )< / span > < span class = "c1" > // initialized with defaults
< / span > < span class = "c1" > < / span > < span class = "kd" > var< / span > < span class = "nx" > modal< / span > < span class = "o" > =< / span > < span class = "k" > new< / span > < span class = "nx" > bootstrap< / span > < span class = "p" > .< / span > < span class = "nx" > Modal< / span > < span class = "p" > (< / span > < span class = "nx" > myModalEl< / span > < span class = "p" > ,< / span > < span class = "p" > {< / span > < span class = "nx" > keyboard< / span > < span class = "o" > :< / span > < span class = "kc" > false< / span > < span class = "p" > })< / span > < span class = "c1" > // initialized with no keyboard
< / span > < / code > < / pre > < / div > < p > If you’ d like to get a particular plugin instance, each plugin exposes a < code > getInstance< / code > method. In order to retrieve it directly from an element, do this: < code > bootstrap.Popover.getInstance(myPopoverEl)< / code > .< / p >
< h3 id = "asynchronous-functions-and-transitions" > Asynchronous functions and transitions< / h3 >
< p > All programmatic API methods are < strong > asynchronous< / strong > and return to the caller once the transition is started but < strong > before it ends< / strong > .< / p >
< p > In order to execute an action once the transition is complete, you can listen to the corresponding event.< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > myCollapseEl< / span > < span class = "o" > =< / span > < span class = "nb" > document< / span > < span class = "p" > .< / span > < span class = "nx" > getElementById< / span > < span class = "p" > (< / span > < span class = "s1" > ' #myCollapse' < / span > < span class = "p" > )< / span >
< span class = "nx" > myCollapseEl< / span > < span class = "p" > .< / span > < span class = "nx" > addEventListener< / span > < span class = "p" > (< / span > < span class = "s1" > ' shown.bs.collapse' < / span > < span class = "p" > ,< / span > < span class = "kd" > function< / span > < span class = "p" > (< / span > < span class = "nx" > event< / span > < span class = "p" > )< / span > < span class = "p" > {< / span >
< span class = "c1" > // Action to execute once the collapsible area is expanded
< / span > < span class = "c1" > < / span > < span class = "p" > })< / span >
< / code > < / pre > < / div > < p > In addition a method call on a < strong > transitioning component will be ignored< / strong > .< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > myCarouselEl< / span > < span class = "o" > =< / span > < span class = "nb" > document< / span > < span class = "p" > .< / span > < span class = "nx" > getElementById< / span > < span class = "p" > (< / span > < span class = "s1" > ' myCarousel' < / span > < span class = "p" > )< / span >
< span class = "kd" > var< / span > < span class = "nx" > carousel< / span > < span class = "o" > =< / span > < span class = "nx" > bootstrap< / span > < span class = "p" > .< / span > < span class = "nx" > Carousel< / span > < span class = "p" > .< / span > < span class = "nx" > getInstance< / span > < span class = "p" > (< / span > < span class = "nx" > myCarouselEl< / span > < span class = "p" > )< / span > < span class = "c1" > // Retrieve a Carousel instance
< / span > < span class = "c1" > < / span >
< span class = "nx" > myCarouselEl< / span > < span class = "p" > .< / span > < span class = "nx" > addEventListener< / span > < span class = "p" > (< / span > < span class = "s1" > ' slid.bs.carousel' < / span > < span class = "p" > ,< / span > < span class = "kd" > function< / span > < span class = "p" > (< / span > < span class = "nx" > event< / span > < span class = "p" > )< / span > < span class = "p" > {< / span >
< span class = "nx" > carousel< / span > < span class = "p" > .< / span > < span class = "nx" > to< / span > < span class = "p" > (< / span > < span class = "s1" > ' 2' < / span > < span class = "p" > )< / span > < span class = "c1" > // Will slide to the slide 2 as soon as the transition to slide 1 is finished
< / span > < span class = "c1" > < / span > < span class = "p" > })< / span >
< span class = "nx" > carousel< / span > < span class = "p" > .< / span > < span class = "nx" > to< / span > < span class = "p" > (< / span > < span class = "s1" > ' 1' < / span > < span class = "p" > )< / span > < span class = "c1" > // Will start sliding to the slide 1 and returns to the caller
< / span > < span class = "c1" > < / span > < span class = "nx" > carousel< / span > < span class = "p" > .< / span > < span class = "nx" > to< / span > < span class = "p" > (< / span > < span class = "s1" > ' 2' < / span > < span class = "p" > )< / span > < span class = "c1" > // !! Will be ignored, as the transition to the slide 1 is not finished !!
< / span > < / code > < / pre > < / div > < h3 id = "default-settings" > Default settings< / h3 >
< p > You can change the default settings for a plugin by modifying the plugin’ s < code > Constructor.Default< / code > object:< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "c1" > // changes default for the modal plugin' s `keyboard` option to false
< / span > < span class = "c1" > < / span > < span class = "nx" > bootstrap< / span > < span class = "p" > .< / span > < span class = "nx" > Modal< / span > < span class = "p" > .< / span > < span class = "nx" > Default< / span > < span class = "p" > .< / span > < span class = "nx" > keyboard< / span > < span class = "o" > =< / span > < span class = "kc" > false< / span >
< / code > < / pre > < / div > < h2 id = "no-conflict-only-if-you-use-jquery" > No conflict (only if you use jQuery)< / h2 >
< p > Sometimes it is necessary to use Bootstrap plugins with other UI frameworks. In these circumstances, namespace collisions can occasionally occur. If this happens, you may call < code > .noConflict< / code > on the plugin you wish to revert the value of.< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > bootstrapButton< / span > < span class = "o" > =< / span > < span class = "nx" > $< / span > < span class = "p" > .< / span > < span class = "nx" > fn< / span > < span class = "p" > .< / span > < span class = "nx" > button< / span > < span class = "p" > .< / span > < span class = "nx" > noConflict< / span > < span class = "p" > ()< / span > < span class = "c1" > // return $.fn.button to previously assigned value
< / span > < span class = "c1" > < / span > < span class = "nx" > $< / span > < span class = "p" > .< / span > < span class = "nx" > fn< / span > < span class = "p" > .< / span > < span class = "nx" > bootstrapBtn< / span > < span class = "o" > =< / span > < span class = "nx" > bootstrapButton< / span > < span class = "c1" > // give $().bootstrapBtn the Bootstrap functionality
< / span > < / code > < / pre > < / div > < h2 id = "version-numbers" > Version numbers< / h2 >
< p > The version of each of Bootstrap’ s plugins can be accessed via the < code > VERSION< / code > property of the plugin’ s constructor. For example, for the tooltip plugin:< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "nx" > bootstrap< / span > < span class = "p" > .< / span > < span class = "nx" > Tooltip< / span > < span class = "p" > .< / span > < span class = "nx" > VERSION< / span > < span class = "c1" > // => " 5.0.0-beta1"
< / span > < / code > < / pre > < / div > < h2 id = "no-special-fallbacks-when-javascript-is-disabled" > No special fallbacks when JavaScript is disabled< / h2 >
< p > Bootstrap’ s plugins don’ t fall back particularly gracefully when JavaScript is disabled. If you care about the user experience in this case, use < a href = "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript" > < code > < noscript> < / code > < / a > to explain the situation (and how to re-enable JavaScript) to your users, and/or add your own custom fallbacks.< / p >
< div class = "bd-callout bd-callout-warning" >
< h5 id = "third-party-libraries" > Third-party libraries< / h5 >
< p > < strong > Bootstrap does not officially support third-party JavaScript libraries< / strong > like Prototype or jQuery UI. Despite < code > .noConflict< / code > and namespaced events, there may be compatibility problems that you need to fix on your own.
< / div >
< h2 id = "sanitizer" > Sanitizer< / h2 >
< p > Tooltips and Popovers use our built-in sanitizer to sanitize options which accept HTML.< / p >
< p > The default < code > allowList< / code > value is the following:< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > ARIA_ATTRIBUTE_PATTERN< / span > < span class = "o" > =< / span > < span class = "sr" > /^aria-[\w-]*$/i< / span >
< span class = "kd" > var< / span > < span class = "nx" > DefaultAllowlist< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< span class = "c1" > // Global attributes allowed on any supplied element below.
< / span > < span class = "c1" > < / span > < span class = "s1" > ' *' < / span > < span class = "o" > :< / span > < span class = "p" > [< / span > < span class = "s1" > ' class' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' dir' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' id' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' lang' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' role' < / span > < span class = "p" > ,< / span > < span class = "nx" > ARIA_ATTRIBUTE_PATTERN< / span > < span class = "p" > ],< / span >
< span class = "nx" > a< / span > < span class = "o" > :< / span > < span class = "p" > [< / span > < span class = "s1" > ' target' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' href' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' title' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' rel' < / span > < span class = "p" > ],< / span >
< span class = "nx" > area< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > b< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > br< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > col< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > code< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > div< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > em< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > hr< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > h1< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > h2< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > h3< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > h4< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > h5< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > h6< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > i< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > img< / span > < span class = "o" > :< / span > < span class = "p" > [< / span > < span class = "s1" > ' src' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' srcset' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' alt' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' title' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' width' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' height' < / span > < span class = "p" > ],< / span >
< span class = "nx" > li< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > ol< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > p< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > pre< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > s< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > small< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > span< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > sub< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > sup< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > strong< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > u< / span > < span class = "o" > :< / span > < span class = "p" > [],< / span >
< span class = "nx" > ul< / span > < span class = "o" > :< / span > < span class = "p" > []< / span >
< span class = "p" > }< / span >
< / code > < / pre > < / div > < p > If you want to add new values to this default < code > allowList< / code > you can do the following:< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > myDefaultAllowList< / span > < span class = "o" > =< / span > < span class = "nx" > bootstrap< / span > < span class = "p" > .< / span > < span class = "nx" > Tooltip< / span > < span class = "p" > .< / span > < span class = "nx" > Default< / span > < span class = "p" > .< / span > < span class = "nx" > allowList< / span >
< span class = "c1" > // To allow table elements
< / span > < span class = "c1" > < / span > < span class = "nx" > myDefaultAllowList< / span > < span class = "p" > .< / span > < span class = "nx" > table< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "c1" > // To allow td elements and data-bs-option attributes on td elements
< / span > < span class = "c1" > < / span > < span class = "nx" > myDefaultAllowList< / span > < span class = "p" > .< / span > < span class = "nx" > td< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s1" > ' data-bs-option' < / span > < span class = "p" > ]< / span >
< span class = "c1" > // You can push your custom regex to validate your attributes.
< / span > < span class = "c1" > // Be careful about your regular expressions being too lax
< / span > < span class = "c1" > < / span > < span class = "kd" > var< / span > < span class = "nx" > myCustomRegex< / span > < span class = "o" > =< / span > < span class = "sr" > /^data-my-app-[\w-]+/< / span >
< span class = "nx" > myDefaultAllowList< / span > < span class = "p" > [< / span > < span class = "s1" > ' *' < / span > < span class = "p" > ].< / span > < span class = "nx" > push< / span > < span class = "p" > (< / span > < span class = "nx" > myCustomRegex< / span > < span class = "p" > )< / span >
< / code > < / pre > < / div > < p > If you want to bypass our sanitizer because you prefer to use a dedicated library, for example < a href = "https://www.npmjs.com/package/dompurify" > DOMPurify< / a > , you should do the following:< / p >
< div class = "highlight" > < pre class = "chroma" > < code class = "language-js" data-lang = "js" > < span class = "kd" > var< / span > < span class = "nx" > yourTooltipEl< / span > < span class = "o" > =< / span > < span class = "nb" > document< / span > < span class = "p" > .< / span > < span class = "nx" > getElementById< / span > < span class = "p" > (< / span > < span class = "s1" > ' yourTooltip' < / span > < span class = "p" > )< / span >
< span class = "kd" > var< / span > < span class = "nx" > tooltip< / span > < span class = "o" > =< / span > < span class = "k" > new< / span > < span class = "nx" > bootstrap< / span > < span class = "p" > .< / span > < span class = "nx" > Tooltip< / span > < span class = "p" > (< / span > < span class = "nx" > yourTooltipEl< / span > < span class = "p" > ,< / span > < span class = "p" > {< / span >
< span class = "nx" > sanitizeFn< / span > < span class = "o" > :< / span > < span class = "kd" > function< / span > < span class = "p" > (< / span > < span class = "nx" > content< / span > < span class = "p" > )< / span > < span class = "p" > {< / span >
< span class = "k" > return< / span > < span class = "nx" > DOMPurify< / span > < span class = "p" > .< / span > < span class = "nx" > sanitize< / span > < span class = "p" > (< / span > < span class = "nx" > content< / span > < span class = "p" > )< / span >
< span class = "p" > }< / span >
< span class = "p" > })< / span >
< / code > < / pre > < / div >
< / div >
< / main >
< / div >
< footer class = "bd-footer p-3 p-md-5 mt-5 bg-light text-center text-sm-start" >
< div class = "container" >
< ul class = "bd-footer-links ps-0 mb-3" >
< li class = "d-inline-block" > < a href = "https://github.com/twbs" > GitHub< / a > < / li >
< li class = "d-inline-block ms-3" > < a href = "https://twitter.com/getbootstrap" > Twitter< / a > < / li >
< li class = "d-inline-block ms-3" > < a href = "/docs/5.0/examples/" > Examples< / a > < / li >
< li class = "d-inline-block ms-3" > < a href = "/docs/5.0/about/overview/" > About< / a > < / li >
< / ul >
< p class = "mb-0" > Designed and built with all the love in the world by the < a href = "/docs/5.0/about/team/" > Bootstrap team< / a > with the help of < a href = "https://github.com/twbs/bootstrap/graphs/contributors" > our contributors< / a > .< / p >
< p class = "mb-0" > Currently v5.0.0-beta1. Code licensed < a href = "https://github.com/twbs/bootstrap/blob/main/LICENSE" target = "_blank" rel = "license noopener" > MIT< / a > , docs < a href = "https://creativecommons.org/licenses/by/3.0/" target = "_blank" rel = "license noopener" > CC BY 3.0< / a > .< / p >
< / div >
< / footer >
< script src = "/docs/5.0/dist/js/bootstrap.bundle.min.js" integrity = "sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin = "anonymous" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js" > < / script >
< script src = "/docs/5.0/assets/js/docs.min.js" > < / script >
< / body >
< / html >