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.js
no am mion- bootstrap.min.js
fhiosrachadh (na cuir a-steach an dà chuid).
Ma chleachdas tu pasgan (Webpack, Rollup…), faodaidh tu /js/dist/*.js
faidhlichean 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-api
leithid:
$(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 querySelector
agus querySelectorAll
airson adhbharan dèanadais, mar sin feumaidh tu taghadairean dligheach a chleachdadh . Ma chleachdas tu luchd-taghaidh sònraichte, mar eisimpleir: collapse:Example
bi 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 Constructor
togalach: $.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.Default
nì 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 .noConflict
plugan 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 VERSION
sheilbh 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 .noConflict
agus 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.js
agus 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.js
a’ toirt a-steach gnìomhan goireis agus neach-cuideachaidh bunaiteach airson transitionEnd
tachartasan 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.
whiteList
Tha 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)
}
})