Téigh ar aghaidh chuig an bpríomhábhar Scipeáil chuig nascleanúint docs
in English

JavaScript

Cuir Bootstrap ar an saol lenár bhforlíontáin roghnacha JavaScript. Foghlaim faoi gach breiseán, ár sonraí agus ár roghanna API ríomhchláraithe, agus tuilleadh.

Aonair nó tiomsaithe

Is féidir forlíontáin a áireamh ina n-aonar (ag baint úsáide as duine aonair Bootstrap js/dist/*.js), nó iad go léir ag baint úsáide as bootstrap.jsnó an mionghearrtha ag an am céanna bootstrap.min.js(ná cuir an dá cheann san áireamh).

Má úsáideann tú bundler (Webpack, Rollup…), is féidir leat /js/dist/*.jscomhaid a úsáid atá réidh le UMD.

Ag baint úsáide as Bootstrap mar mhodúl

Soláthraímid leagan de Bootstrap tógtha mar ESM( bootstrap.esm.jsagus bootstrap.esm.min.js) a ligeann duit Bootstrap a úsáid mar mhodúl i do bhrabhsálaí, má thacaíonn do bhrabhsálaithe spriocdhírithe leis .

<script type="module">
  import { Toast } from 'bootstrap.esm.min.js'

  Array.from(document.querySelectorAll('.toast'))
    .forEach(toastNode => new Toast(toastNode))
</script>

Breiseáin neamh-chomhoiriúnacha

Mar gheall ar theorainneacha brabhsálaí, ní féidir cuid dár bhforlíontáin, mar atá forlíontáin Dropdown, Tooltip agus Popover, a úsáid i <script>gclib le modulecineál mar go mbraitheann siad ar Popper. Le haghaidh tuilleadh eolais faoin gceist féach anseo .

Spleáchais

Braitheann roinnt breiseán agus comhpháirteanna CSS ar fhorlíontáin eile. Má chuireann tú forlíontáin san áireamh ina n-aonar, déan cinnte seiceáil le haghaidh na spleáchais seo sna doiciméid.

Braitheann ár dropdowns, popovers agus leideanna uirlisí ar Popper freisin .

Fós ag iarraidh jQuery a úsáid? Is féidir!

Tá Bootstrap 5 deartha le húsáid gan jQuery, ach is féidir ár gcomhpháirteanna a úsáid le jQuery fós. Má bhraitheann Bootstrap jQueryan windowréad , cuirfidh sé ár gcomhpháirteanna go léir i gcóras breiseán jQuery; ciallaíonn sé seo go mbeidh tú in ann a dhéanamh $('[data-bs-toggle="tooltip"]').tooltip()chun leideanna uirlisí a chumasú. Tá an rud céanna i gceist lenár gcomhpháirteanna eile.

Tréithe sonraí

Is féidir beagnach gach breiseán Bootstrap a chumasú agus a chumrú trí HTML amháin le tréithe sonraí (an bealach is fearr linn feidhmiúlacht JavaScript a úsáid). Bí cinnte nach n-úsáideann ach sraith amháin de shaintréithe sonraí ar eilimint amháin (m.sh., ní féidir leat leid uirlisí agus modha a spreagadh ón gcnaipe céanna).

Roghnóirí

Faoi láthair chun gnéithe DOM a fhiosrú bainimid úsáid as na modhanna dúchais querySelectoragus querySelectorAllar chúiseanna feidhmíochta, mar sin caithfidh tú roghnóirí bailí a úsáid . Má úsáideann tú roghnóirí speisialta, mar shampla: collapse:Examplebí cinnte éalú uathu.

Imeachtaí

Soláthraíonn Bootstrap imeachtaí saincheaptha le haghaidh gníomhartha uathúla fhormhór na mbreiseán. Go ginearálta, tagann siad seo i bhfoirm infinideach agus i bhfoirm rannpháirtí san am a chuaigh thart - áit a spreagtar an infinideach (ex. show) ag tús imeachta, agus ina shownspreagtar foirm an rannpháirtí san am atá thart (ex. ) ar chríochnú gníomhaíochta.

Soláthraíonn gach imeacht infinitive preventDefault()feidhmiúlacht. Soláthraíonn sé seo an cumas chun stop a chur le gníomh a chur i gcrích sula dtosaíonn sé. Má fhilleann tú bréagach ó láimhseálaí teagmhais, glaofar go huathoibríoch é preventDefault().

var myModal = document.getElementById('myModal')

myModal.addEventListener('show.bs.modal', function (event) {
  if (!data) {
    return event.preventDefault() // stops modal from being shown
  }
})

imeachtaí jQuery

Braithfidh Bootstrap jQuery má tá jQuerysé i láthair san windowoibiacht agus mura bhfuil aon data-bs-no-jqueryaitreabúid socraithe ar <body>. Má aimsítear jQuery, scaoilfidh Bootstrap imeachtaí a bhuíochas do chóras imeachtaí jQuery. Mar sin más mian leat éisteacht le himeachtaí Bootstrap, beidh ort na modhanna jQuery ( .on, .one) a úsáid in ionad addEventListener.

$('#myTab a').on('shown.bs.tab', function () {
  // do something...
})

Clár API

Glacann gach tógálaí le réad roghanna roghnach nó rud ar bith (a chuireann tús le breiseán lena iompar réamhshocraithe):

var myModalEl = document.getElementById('myModal')

var modal = new bootstrap.Modal(myModalEl) // initialized with defaults
var modal = new bootstrap.Modal(myModalEl, { keyboard: false }) // initialized with no keyboard

Más mian leat sampla breiseán ar leith a fháil, nochtfaidh gach breiseán getInstancemodh. Chun é a aisghabháil go díreach ó eilimint, déan seo: bootstrap.Popover.getInstance(myPopoverEl).

Roghnóirí CSS i dtógálaithe

Is féidir leat roghnóir CSS a úsáid freisin mar an chéad argóint in ionad eilimint DOM chun an breiseán a thúsú. Faoi láthair is tríd an querySelectormodh a aimsítear eilimint an bhreiseáin toisc nach dtacaíonn ár bhforlíontáin ach le heilimint amháin.

var modal = new bootstrap.Modal('#myModal')
var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')

Feidhmeanna agus aistrithe asincrónacha

Tá na modhanna API ríomhchláraithe go léir asincrónach agus filleann siad chuig an nglaoiteoir nuair a chuirtear tús leis an aistriú ach sula gcríochnaíonn sé .

Chun gníomh a dhéanamh nuair a bheidh an t-aistriú críochnaithe, is féidir leat éisteacht leis an imeacht comhfhreagrach.

var myCollapseEl = document.getElementById('myCollapse')

myCollapseEl.addEventListener('shown.bs.collapse', function (event) {
  // Action to execute once the collapsible area is expanded
})

Ina theannta sin ní thabharfar aird ar ghlao modha ar chomhpháirt trasdula .

var myCarouselEl = document.getElementById('myCarousel')
var carousel = bootstrap.Carousel.getInstance(myCarouselEl) // Retrieve a Carousel instance

myCarouselEl.addEventListener('slid.bs.carousel', function (event) {
  carousel.to('2') // Will slide to the slide 2 as soon as the transition to slide 1 is finished
})

carousel.to('1') // Will start sliding to the slide 1 and returns to the caller
carousel.to('2') // !! Will be ignored, as the transition to the slide 1 is not finished !!

Socruithe réamhshocraithe

Is féidir leat na socruithe réamhshocraithe le haghaidh breiseán a athrú trí Constructor.Defaultréad an bhreiseáin a mhodhnú:

// changes default for the modal plugin's `keyboard` option to false
bootstrap.Modal.Default.keyboard = false

Gan coinbhleacht (má úsáideann tú jQuery amháin)

Uaireanta is gá forlíontáin Bootstrap a úsáid le creataí Chomhéadain eile. Sna cúinsí seo, féadann imbhuailtí ainmspáis tarlú ó am go chéile. Má tharlaíonn sé seo, is féidir leat glaoch .noConflictar an mbreiseán is mian leat a luach a chur ar ais.

var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Bootstrap functionality

Uimhreacha leagan

Is féidir teacht ar an leagan de gach breiseán de chuid Bootstrap trí VERSIONmhaoin chruthaitheoir an bhreiseáin. Mar shampla, don bhreiseán leid uirlisí:

bootstrap.Tooltip.VERSION // => "5.1.3"

Gan aon chúluithe speisialta nuair atá JavaScript díchumasaithe

Ní thiteann forlíontáin Bootstrap siar go háirithe go galánta nuair a bhíonn JavaScript díchumasaithe. Más spéis leat eispéireas an úsáideora sa chás seo, bain úsáid as <noscript>chun an cás a mhíniú (agus conas JavaScript a athchumasú) do d’úsáideoirí, agus/nó cuir do chuid fallbacks saincheaptha féin leis.

Leabharlanna tríú páirtí

Ní thacaíonn Bootstrap go hoifigiúil le leabharlanna tríú páirtí JavaScript ar nós Fréamhshamhail nó Chomhéadain jQuery. In ainneoin .noConflictimeachtaí agus ainmspás orthu, d’fhéadfadh fadhbanna comhoiriúnachta a bheith ann nach mór duit a réiteach i d’aonar.

Sanitizer

Úsáideann Leideanna Uirlisí agus Popovers ár sláintitheoir ionsuite chun roghanna a ghlacann le HTML a shláintiú.

allowListSeo a leanas an luach réamhshocraithe :

var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
var DefaultAllowlist = {
  // Global attributes allowed on any supplied element below.
  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
  a: ['target', 'href', 'title', 'rel'],
  area: [],
  b: [],
  br: [],
  col: [],
  code: [],
  div: [],
  em: [],
  hr: [],
  h1: [],
  h2: [],
  h3: [],
  h4: [],
  h5: [],
  h6: [],
  i: [],
  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
  li: [],
  ol: [],
  p: [],
  pre: [],
  s: [],
  small: [],
  span: [],
  sub: [],
  sup: [],
  strong: [],
  u: [],
  ul: []
}

Más mian leat luachanna nua a chur leis an réamhshocrú seo allowListis féidir leat na rudaí seo a leanas a dhéanamh:

var myDefaultAllowList = bootstrap.Tooltip.Default.allowList

// To allow table elements
myDefaultAllowList.table = []

// To allow td elements and data-bs-option attributes on td elements
myDefaultAllowList.td = ['data-bs-option']

// You can push your custom regex to validate your attributes.
// Be careful about your regular expressions being too lax
var myCustomRegex = /^data-my-app-[\w-]+/
myDefaultAllowList['*'].push(myCustomRegex)

Más mian leat ár sláintitheoir a sheachbhóthar toisc gur fearr leat leabharlann tiomnaithe a úsáid, mar shampla DOMPurify , ba cheart duit an méid seo a leanas a dhéanamh:

var yourTooltipEl = document.getElementById('yourTooltip')
var tooltip = new bootstrap.Tooltip(yourTooltipEl, {
  sanitizeFn: function (content) {
    return DOMPurify.sanitize(content)
  }
})