Toglo troshaenau cyd-destunol ar gyfer arddangos rhestrau o ddolenni a mwy gyda'r gwymplen Bootstrap.
Trosolwg
Mae cwymplenni yn droshaenau cyd-destunol y gellir eu toglo ar gyfer arddangos rhestrau o ddolenni a mwy. Fe'u gwneir yn rhyngweithiol gyda'r ategyn JavaScript cwymplen Bootstrap sydd wedi'i gynnwys. Cânt eu toglo trwy glicio, nid trwy hofran; penderfyniad dylunio bwriadol yw hwn .
Mae dropdowns wedi'u hadeiladu ar lyfrgell trydydd parti, Popper.js , sy'n darparu lleoliad deinamig a chanfod golygfannau. Gwnewch yn siŵr eich bod yn cynnwys popper.min.js cyn JavaScript Bootstrap neu defnyddiwch bootstrap.bundle.min.js/ bootstrap.bundle.jssy'n cynnwys Popper.js. Nid yw Popper.js yn cael ei ddefnyddio i osod cwymplenni mewn barrau llywio gan nad oes angen lleoli dynamig.
Os ydych chi'n adeiladu ein JavaScript o'r ffynhonnell, mae angenutil.js .
Hygyrchedd
Mae safon WAI ARIA yn diffinio role="menu"teclyn gwirioneddol , ond mae hyn yn benodol i fwydlenni tebyg i gymhwysiad sy'n sbarduno gweithredoedd neu swyddogaethau. Dim ond eitemau dewislen, eitemau dewislen blwch ticio, eitemau dewislen botwm radio, grwpiau botwm radio, ac is-ddewislenni y gall bwydlenni ARIA eu cynnwys.
Ar y llaw arall, mae cwymplenni Bootstrap wedi'u cynllunio i fod yn generig ac yn berthnasol i amrywiaeth o sefyllfaoedd a strwythurau marcio. Er enghraifft, mae'n bosibl creu cwymplenni sy'n cynnwys mewnbynnau ychwanegol a rheolyddion ffurflen, megis meysydd chwilio neu ffurflenni mewngofnodi. Am y rheswm hwn, nid yw Bootstrap yn disgwyl (nac yn ychwanegu'n awtomatig) unrhyw un o'r nodweddion rolea'r aria-priodoleddau sydd eu hangen ar gyfer gwir fwydlenni ARIA . Bydd yn rhaid i awduron gynnwys y nodweddion mwy penodol hyn eu hunain.
Fodd bynnag, mae Bootstrap yn ychwanegu cefnogaeth adeiledig ar gyfer y rhan fwyaf o ryngweithiadau dewislen bysellfwrdd safonol, megis y gallu i symud trwy .dropdown-itemelfennau unigol gan ddefnyddio'r bysellau cyrchwr a chau'r ddewislen gyda'r ESCallwedd.
Enghreifftiau
Lapiwch dogl y gwymplen (eich botwm neu ddolen) a'r gwymplen o fewn .dropdown, neu elfen arall sy'n datgan position: relative;. Gall cwympiadau gael eu sbarduno o <a>neu <button>elfennau i gyd-fynd yn well â'ch anghenion posibl.
Botwm sengl
Gellir troi unrhyw sengl .btnyn dogl cwymplen gyda rhai newidiadau marcio. Dyma sut y gallwch chi eu rhoi ar waith gyda'r naill <button>elfen neu'r llall:
Yn yr un modd, crëwch gwymplenni botwm hollt gyda bron yr un marcio i fyny â'r cwymplenni botwm sengl, ond gan ychwanegu .dropdown-toggle-splitbylchau priodol o amgylch y cwymplen.
Rydym yn defnyddio'r dosbarth ychwanegol hwn i leihau'r llorweddol paddingar y naill ochr a'r llall i'r caret 25% a chael gwared ar yr margin-leftun sy'n cael ei ychwanegu ar gyfer cwympiadau botwm rheolaidd. Mae'r newidiadau ychwanegol hynny yn cadw'r caret yn ganolog yn y botwm hollti ac yn darparu ardal daro o faint mwy priodol wrth ymyl y prif botwm.
Yn hanesyddol roedd yn rhaid i gynnwys y gwymplen fod yn ddolenni, ond nid yw hynny'n wir bellach gyda v4. Nawr gallwch chi ddefnyddio <button>elfennau yn eich cwymplenni yn ddewisol yn lle dim ond <a>s.
Gallwch hefyd greu eitemau cwymplen nad ydynt yn rhyngweithiol gyda .dropdown-item-text. Mae croeso i chi steilio ymhellach gyda CSS personol neu gyfleustodau testun.
Yn ddiofyn, mae cwymplen yn cael ei gosod yn awtomatig 100% o'r brig ac ar hyd ochr chwith ei riant. Ychwanegu .dropdown-menu-rightat a .dropdown-menui'r dde alinio'r ddewislen.
Pennau i fyny! Mae cwymplenni wedi'u lleoli diolch i Popper.js (ac eithrio pan fyddant wedi'u cynnwys mewn bar llywio).
Aliniad ymatebol
Os ydych chi am ddefnyddio aliniad ymatebol, analluoga lleoliad deinamig trwy ychwanegu'r data-display="static"priodoledd a defnyddio'r dosbarthiadau amrywiad ymatebol.
I alinio'r gwymplen i'r dde gyda'r torbwynt a roddir neu fwy, ychwanegwch .dropdown-menu{-sm|-md|-lg|-xl}-right.
I alinio'r ddewislen i'r chwith gyda'r torbwynt a roddir neu fwy, ychwanegwch .dropdown-menu-righta .dropdown-menu{-sm|-md|-lg|-xl}-left.
Sylwch nad oes angen i chi ychwanegu data-display="static"priodoledd at fotymau cwympo mewn barrau llywio, gan nad yw Popper.js yn cael ei ddefnyddio mewn bariau llywio.
Cynnwys y ddewislen
Penawdau
Ychwanegwch bennyn i labelu adrannau o gamau gweithredu mewn unrhyw gwymplen.
Rhowch unrhyw destun rhydd mewn cwymplen gyda thestun a defnyddiwch gyfleustodau bylchu . Sylwch ei bod yn debygol y bydd angen arddulliau maint ychwanegol arnoch i gyfyngu ar lled y ddewislen.
Rhywfaint o destun enghreifftiol sy'n llifo'n rhydd o fewn y gwymplen.
A dyma fwy o destun enghreifftiol.
Ffurflenni
Rhowch ffurflen o fewn cwymplen, neu gwnewch hi mewn cwymplen, a defnyddiwch gyfleustodau ymyl neu badin i roi'r gofod negyddol sydd ei angen arnoch.
Trwy briodoleddau data neu JavaScript, mae'r ategyn cwymplen yn toglo cynnwys cudd (cwymplenni) trwy doglo'r .showdosbarth ar yr eitem rhestr rhieni. Dibynnir ar y data-toggle="dropdown"priodoledd ar gyfer cau dewislenni ar lefel cais, felly mae'n syniad da ei ddefnyddio bob amser.
Ar ddyfeisiau cyffyrddiad, mae agor cwymplen yn ychwanegu trinwyr gwag ( $.noop) mouseoverat blant uniongyrchol yr <body>elfen. Mae'r darnia hyll hwn yn angenrheidiol i weithio o amgylch quirk yn dirprwyo digwyddiad iOS , a fyddai fel arall yn atal tap yn unrhyw le y tu allan i'r gwymplen rhag sbarduno'r cod sy'n cau'r gwymplen. Unwaith y bydd y gwymplen wedi'i chau, caiff y mouseovertrinwyr gwag ychwanegol hyn eu dileu.
Trwy briodoleddau data
Ychwanegu data-toggle="dropdown"at ddolen neu fotwm i doglo cwymplen.
Trwy JavaScript
Ffoniwch y cwymplenni trwy JavaScript:
data-toggle="dropdown"dal yn ofynnol
Ni waeth a ydych chi'n ffonio'ch cwymplen trwy JavaScript neu yn lle hynny'n defnyddio'r data-api, data-toggle="dropdown"mae'n ofynnol bob amser i fod yn bresennol ar elfen sbardun y gwymplen.
Opsiynau
Gellir trosglwyddo opsiynau trwy briodoleddau data neu JavaScript. Ar gyfer priodoleddau data, atodwch enw'r opsiwn i data-, fel yn data-offset="".
Enw
Math
Diofyn
Disgrifiad
gwrthbwyso
rhif | llinyn | swyddogaeth
0
Gwrthbwyso'r gwymplen o'i gymharu â'i darged.
Pan ddefnyddir swyddogaeth i bennu'r gwrthbwyso, fe'i gelwir gyda gwrthrych sy'n cynnwys y data gwrthbwyso fel ei ddadl gyntaf. Rhaid i'r swyddogaeth ddychwelyd gwrthrych gyda'r un strwythur. Mae nod DOM yr elfen sbarduno yn cael ei basio fel yr ail ddadl.
Caniatáu i Dropdown fflipio rhag ofn y bydd yr elfen gyfeirio yn gorgyffwrdd. Am ragor o wybodaeth cyfeiriwch at ddogfennau fflip Popper.js .
ffin
llinyn | elfen
'Sgrolio Rhiant'
Ffin cyfyngiad gorlif y gwymplen. Yn derbyn gwerthoedd 'viewport', 'window', 'scrollParent', neu gyfeirnod HTMLElement (JavaScript yn unig). I gael rhagor o wybodaeth, cyfeiriwch at ddogfennau preventOverflow Popper.js .
cyfeiriad
llinyn | elfen
'toglo'
Elfen gyfeirio o'r gwymplen. Yn derbyn gwerthoedd 'toggle', 'parent', neu gyfeirnod Elfen HTML. I gael rhagor o wybodaeth, cyfeiriwch at ddogfennau cyfeirioObject Popper.js .
arddangos
llinyn
'deinamig'
Yn ddiofyn, rydym yn defnyddio Popper.js ar gyfer lleoli deinamig. Analluoga hwn gyda static.
Sylwch pryd boundaryy caiff ei osod i unrhyw werth heblaw 'scrollParent', mae'r arddull position: staticyn cael ei gymhwyso i'r .dropdowncynhwysydd.
Dulliau
Dull
Disgrifiad
$().dropdown('toggle')
Toglo'r gwymplen o far llywio penodol neu dabl llywio.
$().dropdown('show')
Yn dangos y gwymplen o far llywio penodol neu dabl llywio.
$().dropdown('hide')
Yn cuddio'r gwymplen o far llywio penodol neu dabl.
$().dropdown('update')
Yn diweddaru lleoliad cwymplen elfen.
$().dropdown('dispose')
Yn dinistrio cwymplen elfen.
Digwyddiadau
Mae pob digwyddiad cwymplen yn cael ei danio at y .dropdown-menurhiant elfen ac mae ganddynt relatedTargeteiddo, y mae ei werth yn elfen angor toggling. hide.bs.dropdownac hidden.bs.dropdownmae gan ddigwyddiadau clickEventbriodwedd (dim ond pan fydd y math digwyddiad gwreiddiol yn click) sy'n cynnwys Gwrthrych Digwyddiad ar gyfer y digwyddiad clicio.
Digwyddiad
Disgrifiad
show.bs.dropdown
Mae'r digwyddiad hwn yn tanio ar unwaith pan elwir y dull enghraifft sioe.
shown.bs.dropdown
Mae'r digwyddiad hwn yn cael ei danio pan fydd y cwymplen wedi'i gwneud yn weladwy i'r defnyddiwr (bydd yn aros am drawsnewidiadau CSS, i'w cwblhau).
hide.bs.dropdown
Mae'r digwyddiad hwn yn cael ei danio ar unwaith pan fydd y dull cuddfan wedi'i alw.
hidden.bs.dropdown
Mae'r digwyddiad hwn yn cael ei danio pan fydd y gwymplen wedi gorffen cael ei chuddio rhag y defnyddiwr (bydd yn aros am drawsnewidiadau CSS, i'w cwblhau).