JavaScript
Бо плагинҳои ихтиёрии JavaScript-и мо, ки дар jQuery сохта шудаанд, Bootstrap-ро зинда кунед. Дар бораи ҳар як плагин, маълумот ва имконоти барномавии API ва ғайра маълумот гиред.
Инфиродӣ ё ҷамъоварӣ
Васлкунакҳо метавонанд ба таври инфиродӣ дохил карда шаванд (бо истифода аз Bootstrap инфиродӣ js/dist/*.js
) ё ҳама якбора бо истифода bootstrap.js
ё хурдкардашуда bootstrap.min.js
(ҳардуро дар бар намегиранд).
Агар шумо бастасозро истифода баред (Webpack, Rollup…), шумо метавонед /js/dist/*.js
файлҳоеро, ки UMD омодаанд, истифода баред.
Вобастагӣ
Баъзе плагинҳо ва ҷузъҳои CSS аз плагинҳои дигар вобастаанд. Агар шумо плагинҳоро ба таври инфиродӣ дохил кунед, боварӣ ҳосил кунед, ки ин вобастагиҳоро дар ҳуҷҷатҳо тафтиш кунед. Инчунин қайд кунед, ки ҳама плагинҳо аз jQuery вобастаанд (ин маънои онро дорад, ки jQuery бояд пеш аз файлҳои плагин дохил карда шавад). Ба моpackage.json
муроҷиат кунед, то бубинед, ки кадом версияҳои jQuery дастгирӣ мешаванд.
Намунаҳои афтанда, попопверҳо ва маслиҳатҳои мо низ аз Popper.js вобастаанд .
Атрибутҳои маълумот
Қариб ҳамаи плагинҳои Bootstrap метавонанд танҳо тавассути HTML бо атрибутҳои додаҳо фаъол ва танзим карда шаванд (роҳи бартарии мо барои истифодаи функсияҳои JavaScript). Боварӣ ҳосил кунед, ки танҳо як маҷмӯи атрибутҳои маълумотро дар як элемент истифода баред (масалан, шумо наметавонед як маслиҳати абзор ва модалиро аз як тугма ангезед.)
Бо вуҷуди ин, дар баъзе ҳолатҳо он метавонад матлуб бошад, ки ин функсияро хомӯш кунед. Барои ғайрифаъол кардани аттрибутҳои додаҳо API, ҳама рӯйдодҳоро дар ҳуҷҷат бо номи фосилаи зерин ҷудо data-api
кунед:
Интихобан, барои ҳадафи як плагини мушаххас, танҳо номи плагинро ҳамчун фазои ном дар якҷоягӣ бо фазои номи data-api дохил кунед:
Интихобкунандагон
Дар айни замон барои пурсиши унсурҳои DOM мо усулҳои ватаниро истифода мебарем querySelector
ва querySelectorAll
бо сабабҳои иҷроиш, шумо бояд селекторҳои дурустро истифода баред . Агар шумо интихобкунакҳои махсусро истифода баред, масалан: collapse:Example
ҳатман аз онҳо гурезед.
Ҳодисаҳо
Bootstrap рӯйдодҳои фармоиширо барои амалҳои беназири аксари плагинҳо таъмин мекунад. Одатан, инҳо дар шакли пасванд ва замони гузашта меоянд - дар он ҷо масдар (масалан show
) дар оғози ҳодиса ва шакли пасванди он (масалан shown
) дар анҷоми амал ба вуҷуд меояд.
Ҳама рӯйдодҳои инфинитивӣ preventDefault()
функсияро таъмин мекунанд. Ин имкон медиҳад, ки иҷрои амалро пеш аз оғози он қатъ кунед. Баргардонидани хато аз коркардкунандаи рӯйдод инчунин ба таври худкор занг мезанад preventDefault()
.
API-и барномавӣ
Мо инчунин боварӣ дорем, ки шумо бояд ҳамаи плагинҳои Bootstrap-ро танҳо тавассути API JavaScript истифода баред. Ҳама API-ҳои ҷамъиятӣ усулҳои ягона ва занҷирӣ мебошанд ва коллексияи мувофиқи амалро бармегардонанд.
Ҳама усулҳо бояд объекти опсияҳои ихтиёрӣ, сатре, ки усули мушаххасро ҳадаф қарор медиҳанд ё ҳеҷ чиз (ки плагинро бо рафтори пешфарз оғоз мекунад) қабул кунанд:
Ҳар як плагин инчунин конструктори хоми худро дар Constructor
моликият фош мекунад: $.fn.popover.Constructor
. Агар шумо хоҳед, ки як мисоли мушаххаси плагинро ба даст оред, онро мустақиман аз элемент дарёфт кунед: $('[rel="popover"]').data('popover')
.
Функсияҳои асинхронӣ ва гузариш
Ҳама усулҳои барномавии API асинхронӣ мебошанд ва пас аз оғоз шудани гузариш ба зангзан бармегарданд, аммо пеш аз анҷоми он .
Барои иҷро кардани амал пас аз анҷоми гузариш, шумо метавонед ҳодисаи мувофиқро гӯш кунед.
Илова бар ин, занги методӣ дар ҷузъи гузариш нодида гирифта мешавад.
Танзимоти пешфарз
Шумо метавонед танзимоти пешфарзии плагинро тавассути тағир додани Constructor.Default
объекти плагин тағир диҳед:
Не низоъ
Баъзан лозим меояд, ки плагинҳои Bootstrap-ро бо дигар чаҳорчӯбаҳои UI истифода баред. Дар ин шароит, бархӯрдҳои фазои номҳо баъзан рух дода метавонанд. Агар ин рӯй диҳад, шумо метавонед .noConflict
ба плагин занг занед, ки мехоҳед арзиши онро баргардонед.
Рақамҳои версия
Ба версияи ҳар як плагинҳои jQuery Bootstrap тавассути VERSION
моликияти созандаи плагин дастрас шудан мумкин аст. Масалан, барои плагини асбобҳо:
Ҳангоми ғайрифаъол будани JavaScript ягон бозгашти махсус вуҷуд надорад
Васлкунакҳои Bootstrap ҳангоми хомӯш кардани JavaScript ба таври возеҳ намеафтанд. Агар шумо дар бораи таҷрибаи корбар дар ин ҳолат ғамхорӣ кунед, <noscript>
барои шарҳ додани вазъият (ва чӣ гуна JavaScript-ро аз нав фаъол кардан) ба корбарони худ истифода баред ва/ё нусхаҳои фармоишии худро илова кунед.
Китобхонаҳои тарафи сеюм
Bootstrap расман китобхонаҳои JavaScript-и тарафи сеюмро ба монанди Prototype ё jQuery UI дастгирӣ намекунад. Сарфи назар аз .noConflict
рӯйдодҳо ва фазои ном, метавонад мушкилоти мутобиқат дошта бошад, ки шумо бояд мустақилона ислоҳ кунед.
Утил
Ҳама файлҳои JavaScript-и Bootstrap аз он вобастаанд util.js
ва он бояд дар баробари дигар файлҳои JavaScript дохил карда шавад. Агар шумо компилятсионӣ (ё хурдтар) -ро истифода баред bootstrap.js
, лозим нест, ки онро дохил кунед - он аллакай вуҷуд дорад.
util.js
функсияҳои коммуналӣ ва ёвари асосӣ барои transitionEnd
рӯйдодҳо ва инчунин эмулятори гузариш CSS-ро дар бар мегирад. Он аз ҷониби плагинҳои дигар барои тафтиши дастгирии гузариш CSS ва гирифтани гузариши овезон истифода мешавад.
Санитизатор
Маслиҳатҳо ва Popovers безараргардонии дарунсохтаи моро барои безараргардонии имконоти қабулкардаи HTML истифода мебаранд.
Арзиши пешфарз whiteList
ин аст:
Агар шумо хоҳед, ки ба ин пешфарз арзишҳои нав илова кунед, whiteList
шумо метавонед инҳоро иҷро кунед:
Агар шумо хоҳед, ки аз санитаризатори мо канорагирӣ кунед, зеро шумо китобхонаи махсусро истифода бурдан мехоҳед, масалан DOMPurify , шумо бояд амалҳои зеринро иҷро кунед: