JavaScript
Կյանքի կոչեք Bootstrap-ը jQuery-ի վրա կառուցված մեր կամընտիր JavaScript հավելվածների միջոցով: Իմացեք յուրաքանչյուր հավելվածի, մեր տվյալների և ծրագրային API-ի ընտրանքների և ավելին:
Անհատական կամ կազմված
Փլագինները կարող են ներառվել առանձին (օգտագործելով Bootstrap-ի անհատականությունը js/dist/*.js
), կամ միանգամից՝ օգտագործելով bootstrap.js
կամ փոքրացված bootstrap.min.js
(մի՛ ներառեք երկուսն էլ):
Եթե դուք օգտագործում եք փաթեթ (Webpack, Rollup…), կարող եք օգտագործել /js/dist/*.js
ֆայլեր, որոնք պատրաստ են UMD-ին:
Կախվածություններ
Որոշ պլագիններ և CSS բաղադրիչներ կախված են այլ պլագիններից: Եթե դուք ներառում եք պլագիններ առանձին-առանձին, համոզվեք, որ ստուգեք այս կախվածությունները փաստաթղթերում: Նկատի ունեցեք նաև, որ բոլոր հավելումները կախված են jQuery-ից (սա նշանակում է, որ jQuery-ն պետք է ներառված լինի plugin ֆայլերից առաջ): Խորհրդակցեք մեզpackage.json
՝ տեսնելու, թե jQuery-ի որ տարբերակներն են աջակցվում:
Մեր բացվող էջերը, popover-ները և գործիքների հուշումները նույնպես կախված են Popper.js-ից :
Տվյալների հատկանիշներ
Գրեթե բոլոր Bootstrap պլագինները կարող են միացվել և կազմաձևվել միայն HTML-ի միջոցով՝ տվյալների ատրիբուտներով (JavaScript-ի ֆունկցիոնալությունը օգտագործելու մեր նախընտրելի եղանակը): Համոզվեք, որ միայն մեկ տարրի վրա օգտագործեք տվյալների ատրիբուտների միայն մեկ հավաքածու (օրինակ, դուք չեք կարող գործարկել գործիքի հուշում և մոդալ նույն կոճակից):
Այնուամենայնիվ, որոշ իրավիճակներում կարող է ցանկալի լինել անջատել այս գործառույթը: Տվյալների հատկանիշի API-ն անջատելու համար անջատեք բոլոր իրադարձությունները փաստաթղթի անվանման տարածության վրա՝ data-api
այսպես.
Որպես այլընտրանք, հատուկ պլագին թիրախավորելու համար պարզապես ներառեք հավելվածի անունը որպես անվանատարածք տվյալների api անվանատարածքի հետ միասին, ինչպես հետևյալը.
Ընտրիչներ
Ներկայումս DOM տարրերը հարցումներ կատարելու համար մենք օգտագործում ենք բնօրինակ մեթոդներ querySelector
և querySelectorAll
կատարողականի նկատառումներով, այնպես որ դուք պետք է օգտագործեք վավեր ընտրիչներ : Եթե դուք օգտագործում եք հատուկ ընտրիչներ, օրինակ՝ collapse:Example
համոզվեք, որ խուսափեք դրանցից:
Իրադարձություններ
Bootstrap-ն ապահովում է հարմարեցված իրադարձություններ փլագինների մեծ մասի եզակի գործողությունների համար: Ընդհանրապես, դրանք գալիս են ինֆինիտիվ և անցյալ մասնակցային ձևով, որտեղ ինֆինիտիվը (նախ. show
) գործարկվում է իրադարձության սկզբում, իսկ նրա անցյալ մասնակցային ձևը ( նախ. shown
) գործարկվում է գործողության ավարտից հետո:
Բոլոր անվերջ իրադարձությունները ապահովում են preventDefault()
ֆունկցիոնալություն: Սա հնարավորություն է տալիս դադարեցնել գործողությունների կատարումը նախքան այն սկսելը: Իրադարձությունների մշակիչից false վերադարձնելու դեպքում նաև ավտոմատ կերպով կկանչվի preventDefault()
:
Ծրագրային API
Մենք նաև կարծում ենք, որ դուք պետք է կարողանաք օգտագործել բոլոր Bootstrap հավելվածները զուտ JavaScript API-ի միջոցով: Բոլոր հանրային API-ները միայնակ, շղթայական մեթոդներ են և վերադարձնում են գործածված հավաքածուն:
Բոլոր մեթոդները պետք է ընդունեն կամընտիր ընտրանքների օբյեկտ, տող, որն ուղղված է որոշակի մեթոդին կամ ոչինչ (որը սկսում է լռելյայն վարքագիծ ունեցող պլագին).
Յուրաքանչյուր փլագին նաև բացահայտում է իր չմշակված կոնստրուկտորը մի Constructor
հատկության վրա՝ $.fn.popover.Constructor
. Եթե ցանկանում եք ստանալ հատուկ plugin-ի օրինակ, առբերեք այն անմիջապես տարրից՝ $('[rel="popover"]').data('popover')
.
Ասինխրոն գործառույթներ և անցումներ
Բոլոր ծրագրային API մեթոդներն ասինխրոն են և վերադառնում են զանգահարողին, երբ անցումը սկսվում է, բայց մինչև այն ավարտվի :
Անցումը ավարտվելուց հետո գործողություն կատարելու համար կարող եք լսել համապատասխան իրադարձությունը:
Բացի այդ, անցումային բաղադրիչի վրա մեթոդի կանչը անտեսվելու է :
Կանխադրված կարգավորումներ
Դուք կարող եք փոխել plugin-ի լռելյայն կարգավորումները՝ փոփոխելով plugin-ի Constructor.Default
օբյեկտը.
Ոչ մի կոնֆլիկտ
Երբեմն անհրաժեշտ է լինում օգտագործել Bootstrap պլագիններ այլ UI շրջանակների հետ: Այս հանգամանքներում երբեմն կարող են տեղի ունենալ անունների տարածության բախումներ: Եթե դա տեղի ունենա, դուք կարող եք զանգահարել .noConflict
այն պլագինին, որի արժեքը ցանկանում եք վերադարձնել:
Տարբերակների համարները
Bootstrap-ի jQuery պլագիններից յուրաքանչյուրի տարբերակը հասանելի VERSION
է plugin-ի կոնստրուկտորի սեփականության միջոցով: Օրինակ, Tooltip plugin-ի համար.
Հատուկ հետադարձ կապ չկա, երբ JavaScript-ն անջատված է
Bootstrap-ի պլագինները առանձնապես նրբագեղորեն չեն զիջում, երբ JavaScript-ն անջատված է: Եթե այս դեպքում ձեզ հետաքրքրում է օգտատերերի փորձը, օգտագործեք <noscript>
ձեր օգտատերերին իրավիճակը (և ինչպես կրկին ակտիվացնել JavaScript-ը) բացատրելու համար և/կամ ավելացրեք ձեր սեփական հետադարձ կապերը:
Երրորդ կողմի գրադարաններ
Bootstrap-ը պաշտոնապես չի աջակցում երրորդ կողմի JavaScript գրադարաններին , ինչպիսիք են Prototype-ը կամ jQuery UI-ը: Չնայած .noConflict
անվանատարածք ունեցող իրադարձություններին, կարող են լինել համատեղելիության խնդիրներ, որոնք դուք պետք է ինքնուրույն շտկեք:
Ուտիլ
Bootstrap-ի բոլոր JavaScript ֆայլերը կախված են, util.js
և այն պետք է ներառվի JavaScript-ի մյուս ֆայլերի կողքին: Եթե դուք օգտագործում եք կազմված (կամ փոքրացված) bootstrap.js
, կարիք չկա ներառել սա. այն արդեն կա:
util.js
ներառում է օգտակար գործառույթներ և իրադարձությունների հիմնական օգնական, transitionEnd
ինչպես նաև CSS անցումային էմուլյատոր: Այն օգտագործվում է այլ պլագինների կողմից՝ ստուգելու CSS անցումային աջակցությունը և կախված անցումները բռնելու համար:
Սանիտարական միջոց
Tooltips-ը և Popovers-ը օգտագործում են մեր ներկառուցված ախտահանիչը՝ HTML-ն ընդունող տարբերակները մաքրելու համար:
Լռելյայն whiteList
արժեքը հետևյալն է.
Եթե ցանկանում եք այս լռելյայն նոր արժեքներ ավելացնել, whiteList
կարող եք անել հետևյալը.
Եթե ցանկանում եք շրջանցել մեր ախտահանիչը, քանի որ նախընտրում եք օգտագործել հատուկ գրադարան, օրինակ ՝ DOMPurify , դուք պետք է անեք հետևյալը.