in English

JavaScript

Thoir beò Bootstrap leis na plugins roghainneil JavaScript againn a chaidh a thogail air jQuery. Ionnsaich mu gach plugan, ar dàta agus roghainnean API prògramaidh, agus barrachd.

Aonair no air a chur ri chèile

Faodar plugins a thoirt a-steach leotha fhèin (a’ cleachdadh an neach fa leth aig Bootstrap js/dist/*.js), no iad uile aig an aon àm a’ cleachdadh bootstrap.jsno am mion- bootstrap.min.jsfhiosrachadh (na cuir a-steach an dà chuid).

Ma chleachdas tu pasgan (Webpack, Rollup…), faodaidh tu /js/dist/*.jsfaidhlichean a chleachdadh a tha deiseil UMD.

eisimeileachd

Tha cuid de plugins agus co-phàirtean CSS an urra ri plugins eile. Ma bheir thu a-steach plugins leotha fhèin, dèan cinnteach gun dèan thu cinnteach airson na h-eisimeileachd sin anns na docaichean. Thoir an aire cuideachd gu bheil a h- uile plugan an urra ri jQuery (tha seo a’ ciallachadh gum feumar jQuery a thoirt a-steach ro na faidhlichean plugan). Bruidhinn ris an fheadhainn againnpackage.json gus faicinn dè na dreachan de jQuery a tha a’ faighinn taic.

Tha na dropdowns, popovers agus molaidhean innealan againn cuideachd an urra ri Popper.js .

Feartan dàta

Faodar cha mhòr a h-uile plugan Bootstrap a chomasachadh agus a rèiteachadh tro HTML a-mhàin le buadhan dàta (an dòigh as fheàrr leinn air gnìomhachd JavaScript a chleachdadh). Dèan cinnteach nach cleachd thu ach aon sheata de bhuadhan dàta air aon eileamaid (me, chan urrainn dhut inneal agus modal a bhrosnachadh bhon aon phutan.)

Ach, ann an cuid de shuidheachaidhean dh’ fhaodadh gum biodh e ion-mhiannaichte an gnìomh seo a chuir dheth. Gus am feart dàta API a dhì-cheadachadh, dì-cheangail a h-uile tachartas air an sgrìobhainn le beàrn le data-apileithid:

$(document).off('.data-api')

Air neo, gus cuimseachadh air plugan sònraichte, dìreach cuir a-steach ainm a’ phlug mar àite-ainm còmhla ris an ainm-àite data-api mar seo:

$(document).off('.alert.data-api')

Luchd-taghaidh

An-dràsta gus eileamaidean DOM a cheasnachadh bidh sinn a’ cleachdadh nan dòighean dùthchasach querySelectoragus querySelectorAllairson adhbharan dèanadais, mar sin feumaidh tu taghadairean dligheach a chleachdadh . Ma chleachdas tu luchd-taghaidh sònraichte, mar eisimpleir: collapse:Examplebi cinnteach gun teicheadh ​​​​thu.

Tachartasan

Bidh Bootstrap a’ toirt seachad tachartasan àbhaisteach airson gnìomhan sònraichte a’ mhòr-chuid de plugins. San fharsaingeachd, thig iad sin ann an cruth com-pàirt infinitive agus san àm a dh’ fhalbh - far a bheil an infinitive (ex. show) air a phiobrachadh aig toiseach tachartais, agus an cruth com-pàirteachaidh san àm a dh’ fhalbh (ex. shown) air a phiobrachadh nuair a thèid gnìomh a chrìochnachadh.

Bidh a h-uile tachartas infinitive a’ toirt seachad preventDefault()comas-gnìomh. Bheir seo an comas stad a chuir air gnìomh mus tòisich e. Bidh tilleadh meallta bho neach-làimhseachaidh tachartais cuideachd a’ gairm preventDefault().

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

Prògramachadh API

Tha sinn cuideachd den bheachd gum bu chòir dhut a bhith comasach air a h-uile plugan Bootstrap a chleachdadh dìreach tro JavaScript API. Tha a h-uile API poblach nan dòighean singilte, slabhraidh, agus tillidh iad an cruinneachadh air an deach gabhail.

$('.btn.danger').button('toggle').addClass('fat')

Bu chòir do gach dòigh gabhail ri nì roghainnean roghnach, sreang a tha ag amas air dòigh sònraichte, no gun dad (a thòisicheas plugan le giùlan bunaiteach):

$('#myModal').modal() // initialized with defaults
$('#myModal').modal({ keyboard: false }) // initialized with no keyboard
$('#myModal').modal('show') // initializes and invokes show immediately

Bidh gach plugan cuideachd a’ nochdadh an neach-togail amh aige air Constructortogalach: $.fn.popover.Constructor. Ma tha thu airson eisimpleir plugan sònraichte fhaighinn, thoir air ais e gu dìreach bho eileamaid: $('[rel="popover"]').data('popover').

Gnìomhan asyncronach agus eadar-ghluasadan

Tha a h-uile modh prògramaidh API neo- chunbhalach agus tillidh iad chun neach-fios aon uair ‘s gu bheil an gluasad air tòiseachadh ach mus tig e gu crìch .

Gus gnìomh a chuir an gnìomh aon uair ‘s gu bheil an eadar-ghluasad deiseil, faodaidh tu èisteachd ris an tachartas co-fhreagarrach.

$('#myCollapse').on('shown.bs.collapse', function (event) {
  // Action to execute once the collapsible area is expanded
})

A bharrachd air an sin cha tèid aire a thoirt do ghairm modh air pàirt gluasaid .

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

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

Roghainnean bunaiteach

'S urrainn dhut na roghainnean bunaiteach airson plugan atharrachadh le bhith ag atharrachadh Constructor.Defaultnì a' phlugain:

// changes default for the modal plugin's `keyboard` option to false
$.fn.modal.Constructor.Default.keyboard = false

Gun strì

Aig amannan feumar plugins Bootstrap a chleachdadh le frèaman UI eile. Anns na suidheachaidhean sin, faodaidh tubaistean ainmean-àite tachairt bho àm gu àm. Ma thachras seo, faodaidh tu fios a chuir chun .noConflictplugan a tha thu airson luach a thilleadh.

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

Àireamhan tionndaidh

Faodar faighinn chun dreach de gach plugan jQuery aig Bootstrap tro VERSIONsheilbh neach-togail a’ plugan. Mar eisimpleir, airson am plugan Tooltip:

$.fn.tooltip.Constructor.VERSION // => "4.6.2"

Chan eil cùl-taic sònraichte ann nuair a tha JavaScript à comas

Cha bhith plugins Bootstrap a’ tuiteam air ais gu sònraichte gràsmhor nuair a tha JavaScript à comas. Ma tha dragh ort mu eòlas an neach-cleachdaidh sa chùis seo, cleachd <noscript>gus an suidheachadh a mhìneachadh (agus mar a nì thu ath-chomasachadh JavaScript) don luchd-cleachdaidh agad, agus / no cuir ris na fallbacks àbhaisteach agad fhèin.

Leabharlannan treas-phàrtaidhean

Chan eil Bootstrap a’ toirt taic oifigeil do leabharlannan JavaScript treas-phàrtaidh leithid Prototype no jQuery UI. A dh'aindeoin .noConflictagus ainmean thachartasan, dh'fhaodadh gum bi duilgheadasan co-chòrdalachd ann a dh'fheumas tu a rèiteachadh leat fhèin.

Util

Tha a h-uile faidhle JavaScript aig Bootstrap an urra util.jsagus feumar a thoirt a-steach còmhla ris na faidhlichean JavaScript eile. Ma tha thu a’ cleachdadh am faidhle cruinnichte (no mionaichte) bootstrap.js, cha leig thu leas seo a ghabhail a-steach - tha e ann mu thràth.

util.jsa’ toirt a-steach gnìomhan goireis agus neach-cuideachaidh bunaiteach airson transitionEndtachartasan a bharrachd air emuladair gluasaid CSS. Tha e air a chleachdadh leis na plugins eile gus sgrùdadh a dhèanamh airson taic gluasaid CSS agus gus eadar-ghluasadan crochte a ghlacadh.

Sanitizer

Bidh Tooltips agus Popovers a’ cleachdadh ar inneal-glanaidh togte gus roghainnean a tha a’ gabhail ri HTML a ghlanadh.

whiteListTha an luach bunaiteach mar a leanas:

var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
var DefaultWhitelist = {
  // 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: []
}

Ma tha thu airson luachan ùra a chur ris a’ bhunait seo whiteList, faodaidh tu na leanas a dhèanamh:

var myDefaultWhiteList = $.fn.tooltip.Constructor.Default.whiteList

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

// To allow td elements and data-option attributes on td elements
myDefaultWhiteList.td = ['data-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-]+/
myDefaultWhiteList['*'].push(myCustomRegex)

Ma tha thu airson a dhol seachad air an inneal-glanaidh againn oir is fheàrr leat leabharlann sònraichte a chleachdadh, mar eisimpleir DOMPurify , bu chòir dhut na leanas a dhèanamh:

$('#yourTooltip').tooltip({
  sanitizeFn: function (content) {
    return DOMPurify.sanitize(content)
  }
})